From 97887d4c68b2a4a6b86699cf22128e14d9b12965 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Tue, 17 Feb 2026 08:06:06 -0500 Subject: [PATCH] update networks with the new log(screening) change --- networks/CNO_extras/actual_network.H | 33 + networks/CNO_extras/actual_rhs.H | 535 +- networks/CNO_extras/cno_extras.png | Bin 84636 -> 83444 bytes networks/CNO_extras/cno_extras_hide_alpha.png | Bin 63220 -> 62716 bytes networks/CNO_extras/derived_rates.H | 944 +- networks/CNO_extras/pynucastro-info.txt | 2 +- networks/CNO_extras/reaclib_rates.H | 1137 +- networks/ECSN/ECSN.png | Bin 61596 -> 61708 bytes networks/ECSN/actual_network.H | 14 + networks/ECSN/actual_rhs.H | 207 +- networks/ECSN/pynucastro-info.txt | 2 +- networks/ECSN/reaclib_rates.H | 469 +- networks/he-burn/ase-iron/actual_network.H | 42 + networks/he-burn/ase-iron/actual_rhs.H | 806 +- networks/he-burn/ase-iron/ase-iron.png | Bin 79340 -> 78634 bytes networks/he-burn/ase-iron/derived_rates.H | 1552 +- networks/he-burn/ase-iron/pynucastro-info.txt | 2 +- networks/he-burn/ase-iron/reaclib_rates.H | 1833 +- networks/he-burn/ase-test/actual_network.H | 36 + networks/he-burn/ase-test/actual_rhs.H | 734 +- networks/he-burn/ase-test/ase_test.png | Bin 149525 -> 149800 bytes networks/he-burn/ase-test/derived_rates.H | 1176 +- networks/he-burn/ase-test/pynucastro-info.txt | 2 +- networks/he-burn/ase-test/reaclib_rates.H | 1413 +- .../ase-test/temperature_table_rates.H | 26 +- networks/he-burn/ase/actual_network.H | 34 + networks/he-burn/ase/actual_rhs.H | 699 +- networks/he-burn/ase/ase.png | Bin 145211 -> 145929 bytes networks/he-burn/ase/derived_rates.H | 1126 +- networks/he-burn/ase/pynucastro-info.txt | 2 +- networks/he-burn/ase/reaclib_rates.H | 1385 +- .../he-burn/cno-he-burn-33a/actual_network.H | 56 + networks/he-burn/cno-he-burn-33a/actual_rhs.H | 1030 +- .../cno-he-burn-33a/cno-he-burn-33a.png | Bin 140175 -> 140495 bytes .../he-burn/cno-he-burn-33a/derived_rates.H | 1774 +- .../cno-he-burn-33a/pynucastro-info.txt | 2 +- .../he-burn/cno-he-burn-33a/reaclib_rates.H | 2447 +- .../he-burn/cno-he-burn-34am/actual_network.H | 64 + .../he-burn/cno-he-burn-34am/actual_rhs.H | 1177 +- .../cno-he-burn-34am/cno-he-burn-34am.png | Bin 117014 -> 119010 bytes .../he-burn/cno-he-burn-34am/derived_rates.H | 2028 +- .../cno-he-burn-34am/pynucastro-info.txt | 2 +- .../he-burn/cno-he-burn-34am/reaclib_rates.H | 2843 +- .../he-burn/he-burn-19am/actual_network.H | 35 + networks/he-burn/he-burn-19am/actual_rhs.H | 678 +- networks/he-burn/he-burn-19am/derived_rates.H | 892 +- .../he-burn/he-burn-19am/he-burn-19am.png | Bin 88622 -> 89135 bytes .../he-burn/he-burn-19am/pynucastro-info.txt | 2 +- networks/he-burn/he-burn-19am/reaclib_rates.H | 1501 +- .../he-burn/he-burn-28amnp/actual_network.H | 43 + networks/he-burn/he-burn-28amnp/actual_rhs.H | 785 +- .../he-burn/he-burn-28amnp/derived_rates.H | 1318 +- .../he-burn-28amnp/he-burn-28amnp-zoom.png | Bin 54452 -> 54578 bytes .../he-burn/he-burn-28amnp/he-burn-28amnp.png | Bin 121668 -> 120767 bytes .../he-burn-28amnp/pynucastro-info.txt | 2 +- .../he-burn/he-burn-28amnp/reaclib_rates.H | 1949 +- .../he-burn/he-burn-33am/actual_network.H | 51 + networks/he-burn/he-burn-33am/actual_rhs.H | 981 +- networks/he-burn/he-burn-33am/derived_rates.H | 1774 +- .../he-burn-33am/he-burn-33am-zoom.png | Bin 94860 -> 90877 bytes .../he-burn/he-burn-33am/he-burn-33am.png | Bin 136206 -> 136207 bytes .../he-burn/he-burn-33am/pynucastro-info.txt | 2 +- networks/he-burn/he-burn-33am/reaclib_rates.H | 2393 +- .../C-burn-simple/actual_network.H | 8 + .../C-burn-simple/actual_rhs.H | 100 +- .../C-burn-simple/pynucastro-info.txt | 2 +- .../C-burn-simple/reaclib_rates.H | 109 +- .../URCA-medium/actual_network.H | 16 + .../ignition_reaclib/URCA-medium/actual_rhs.H | 227 +- .../URCA-medium/pynucastro-info.txt | 2 +- .../URCA-medium/reaclib_rates.H | 515 +- .../URCA-medium/urca_medium.png | Bin 68461 -> 67829 bytes .../URCA-simple/actual_network.H | 8 + .../ignition_reaclib/URCA-simple/actual_rhs.H | 100 +- .../URCA-simple/pynucastro-info.txt | 2 +- .../URCA-simple/reaclib_rates.H | 109 +- networks/nova-li/actual_network.H | 42 + networks/nova-li/actual_rhs.H | 619 +- networks/nova-li/nova-li.png | Bin 59687 -> 60075 bytes networks/nova-li/pynucastro-info.txt | 2 +- networks/nova-li/reaclib_rates.H | 1637 +- networks/nova/actual_network.H | 30 + networks/nova/actual_rhs.H | 416 +- networks/nova/nova.png | Bin 58342 -> 59443 bytes networks/nova/pynucastro-info.txt | 2 +- networks/nova/reaclib_rates.H | 973 +- networks/partition_test/actual_network.H | 8 + networks/partition_test/actual_rhs.H | 100 +- networks/partition_test/derived_rates.H | 62 +- networks/partition_test/pynucastro-info.txt | 2 +- networks/partition_test/reaclib_rates.H | 81 +- networks/sn160/actual_network.H | 305 + networks/sn160/actual_rhs.H | 8525 +--- networks/sn160/pynucastro-info.txt | 2 +- networks/sn160/reaclib_rates.H | 38259 +++++++++++----- 95 files changed, 57568 insertions(+), 32735 deletions(-) diff --git a/networks/CNO_extras/actual_network.H b/networks/CNO_extras/actual_network.H index 25d9e1db6..9df17e030 100644 --- a/networks/CNO_extras/actual_network.H +++ b/networks/CNO_extras/actual_network.H @@ -289,6 +289,39 @@ namespace Rates NumRates = k_He4_Mg24_to_C12_O16_derived }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_p_C13 = 3, + k_p_N13 = 4, + k_p_N14 = 5, + k_He4_N14 = 6, + k_p_N15 = 7, + k_He4_N15 = 8, + k_He4_O14 = 9, + k_He4_O15 = 10, + k_p_O16 = 11, + k_He4_O16 = 12, + k_p_O17 = 13, + k_p_O18 = 14, + k_p_F17 = 15, + k_p_F18 = 16, + k_p_F19 = 17, + k_He4_Ne18 = 18, + k_He4_Ne20 = 19, + k_C12_C12 = 20, + k_He4_N13 = 21, + k_C12_O16 = 22, + k_p_Ne20 = 23, + k_He4_He4 = 24, + k_He4_Be8 = 25, + k_He4_F17 = 26, + k_He4_Mg24 = 27, + NumScreenPairs = k_He4_Mg24 + }; + // 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 // NetworkRates enum diff --git a/networks/CNO_extras/actual_rhs.H b/networks/CNO_extras/actual_rhs.H index a60e1f13a..048c6f313 100644 --- a/networks/CNO_extras/actual_rhs.H +++ b/networks/CNO_extras/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,499 +64,314 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_p_N15_derived); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived); - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.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_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.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_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.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_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_p_O17_derived); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived); - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.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_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_F19_reaclib); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_N15_to_p_O18_derived); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived); - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_p_F18_derived); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived); - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_p_F19_derived); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived); - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.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_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.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_O18_to_F19_reaclib); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F17_to_He4_O14_derived); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived); - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.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_F18_to_Ne19_reaclib); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib); - rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/CNO_extras/cno_extras.png b/networks/CNO_extras/cno_extras.png index 823e66a454b603bf1811b1e0ed2d6b86a9d3c3e6..f2bedfdb8d3d849454ca12842bb439f9721af69f 100644 GIT binary patch literal 83444 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 z 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 Ll2n0&p3i>)(~r6M diff --git a/networks/CNO_extras/cno_extras_hide_alpha.png b/networks/CNO_extras/cno_extras_hide_alpha.png index dc5560c7bad11ad151ee0aef65ab2438e42d0dab..a69c4190388bcf07265e3a5dca01d0af5502f8e3 100644 GIT binary patch literal 62716 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

BHxYte>(@;cSv+)# zN6)XqeijD~v3&jv1p9D-V@wcT;WbaXe}j?|aYjG_Ij{K?=&?gZPzR+~SQ(+6+quv} zpC4GU8$hYcw7;RWXzlK1 zcO(bEb~Cc(t36yGVOgS+H?BiKDXpmgsMY^xXz`zUN@u4S%u|4t1s+HLHBW)iyt%pg z0?MM~h73-yxO@9^5q=PkBj|!$cXM;Y3vGhbGVq@X=M2O`L}3Y;)Py z-~x!xC8++7zD~~$KBzpNuFltUt8U5uV1X(>5FB$M z!$E>oV{w}e@xVM7{`x^C<9)2;TG0yN{-$FE%*A)YVN zK;n86y&ptU!&4_vc8^-Dh@Cw-Hg;uC!{X+HC$3_cC}={6#}&k(g#1bH2uMHu$9(Om z_j@zgUS6((50K%D+{JNbl16kyV2OHI_PoJ6->$pj43<)5d8K`r3jIcR2RN-#1hSe5 zbGJnkWr@Y>wT&RqogBimvTkf@|HXKMIReWRK{|TPZ`5LWRTYyR!SOIk)za36o%9P9 ze7JuY>^|XBR@HjDdHbP-Jb}UNDZozyHp%l!oU%I57;L8yTy^lRqX*>kK8edWNbWH% ze?V541HM2shM45)IeK5#R9GB^q2Wyn#Bm?@^9Y`d> zB`JM-S+j(&W$+Rc^s_EDvUO~UUu?K?bn^y}$~XwkgL2W`(-R2Cr4%a$sh*ZM$&6an zyUZ_B>?**TU(&tzI8VHWQGP)okA#29^7I-@c;aIIseVgGNJK;gt;+gQU-Tj^31zMu z7>23bjSyQ`;@$v_U*|lt zSs&MbYsAEucfGl=x!KGMqwGS6$=$80hAR*%91MKMyXO6Cu+PLPGo05 z)(jju-R`ak0|b7zIX-A?`j^gdTBCuXaQ$uu0|aQw(sf?78Tih{cHL~!V)C9uqXB=7 zy7LsO<{+(h52@hRbh2x6@ONb&?t*MVgd3tyx)??xT#pi@`xvtMRq)I{CA-Z6id@{k zr8?7(D%IZES!GN)HnlciWAL)Ck~P%_Upxyx*Ov=XlyG?T(f}&QxBYHk#(}W|BgDgL ze_0B$=Q-8!LD5*2inkITdRlVZ{+cnJM!58M$mzgjwLC^IqXy2&<9@U!>HxdSZ|X5c zQ5H2>@{5`izpt>{5f(rGd=0tSO7|fj{zobUm>8S8q%Vy;J3vFqrbAd6C;vRRfO8G1 z(FzI-rkoZMFludJM=|M>0zrQAIeFfieb%X)?E<2Z&WLuoo5JC>J zX)-|)!?9Xc6U#~u1BVhm4In-G^#}K=x8Lt}jnd|=@a2C6~$ zIiafWkYd2IC$3gMAQ6Tr9CM`!7@J)uvbm8dRDWnWd>;a;- zYKKA`=Qmu5l@vLBx>{Oyz#I2M|Cp#pu&RZeE0Ch-7SG)LfwBBNfv$Zyv>>3T9P>bb zA6FQ`;LIprUtg)5prK!V{$P$k^7ctwtm7KwZI&iwWK5PsfYA1+Lql{KJLR({PcsFA zZ$fuLCON2*Cs3X)pq6CU1j7{Ii&veL_4s^D`3W(S8|{raRo>;`ij1v82Y^k`rR{mZ zo7mw@z%AJr+&z`K9aTD0Z`07Dlo>ikvE>P7a!)byvCkD4J$;t{7ghYbxSjyJ|9}_X i=ktJS&p4vCA+HNwAF9(*Mm$vU_4@qe#JYr4g?|HlC!^p1 literal 63220 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 AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N14_to_p_C13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 --> p + C13 @@ -129,13 +129,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.72421240281699 + -87.62065170634826 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.62065170634826 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -150,13 +150,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.17241240281699 + -93.40212170634825 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.40212170634825 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,12 +170,12 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from nacrr ln_set_rate = 38.39121240281698 + -101.17495170634825 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.17495170634825 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -190,7 +190,7 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O14_to_p_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O14 --> p + N13 @@ -226,12 +226,12 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from lg06r ln_set_rate = 35.3038971632548 + -59.81629660012578 * tfactors.T9i + 1.57122 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.81629660012578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.44239716325481 + -53.690276600125785 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.690276600125785 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O15_to_p_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 --> p + N14 @@ -304,13 +304,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.76303704754867 + -89.56670699689953 * tfactors.T9i + 1.5682 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.56670699689953 * tfactors.T9i * tfactors.T9i + 1.5682 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -324,12 +324,12 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from im05r ln_set_rate = 31.68169704754867 + -87.67370699689953 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.67370699689953 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -344,13 +344,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.144157047548674 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -365,13 +365,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.03725704754867 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +386,7 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> p + N15 @@ -423,13 +423,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 38.86679552635226 + -150.96226378057287 * tfactors.T9i + 0.0459037 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.96226378057287 * tfactors.T9i * tfactors.T9i + 0.0459037; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -443,12 +443,12 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from li10r ln_set_rate = 30.912955526352267 + -143.65591378057286 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 143.65591378057286 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -463,13 +463,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.33999552635227 + -140.73276378057287 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 140.73276378057287 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +484,7 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -521,13 +521,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -542,13 +542,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -563,7 +563,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F17_to_p_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 --> p + O16 @@ -599,13 +599,13 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.93184403787935 + -6.965832070525503 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.965832070525503 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -620,7 +620,7 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> p + O17 @@ -656,13 +656,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 33.72287495567065 + -71.29605321275191 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.29605321275191 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -676,12 +676,12 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 11.255394955670651 + -65.81406921275192 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.81406921275192 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -696,13 +696,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.22529495567065 + -65.06777321275192 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.06777321275192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -717,7 +717,7 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_He4_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> He4 + N14 @@ -753,12 +753,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 38.61662473666887 + -62.20224752987261 * tfactors.T9i + -5.6227 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.20224752987261 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -772,12 +772,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 24.91396273666887 + -56.396987529872604 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 56.396987529872604 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -792,13 +792,13 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.25102473666887 + -51.236647529872606 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.236647529872606 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -813,7 +813,7 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> p + O18 @@ -849,13 +849,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.868088644181995 + -92.7618744782197 * tfactors.T9i + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.7618744782197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,13 +870,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.219848644181997 + -99.4871744782197 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.4871744782197 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -890,12 +890,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 28.027568644181997 + -94.41868447821969 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.41868447821969 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -909,12 +909,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = -12.056811355818002 + -93.0066174782197 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.0066174782197 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -929,7 +929,7 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_He4_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> He4 + N15 @@ -966,13 +966,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.0595772096034 + -50.77806404408662 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.77806404408662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -986,12 +986,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 28.273522790396598 + -53.56282404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.56282404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1005,12 +1005,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 15.3204027903966 + -50.75615404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.75615404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1025,13 +1025,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.130922790396596 + -46.57820404408662 * tfactors.T9i + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.57820404408662 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1046,7 +1046,7 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> p + F17 @@ -1082,13 +1082,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 17.58370046698957 + -45.55769965436449 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.6337600000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.55769965436449 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.6337600000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1103,13 +1103,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 53.00858046698957 + -50.485039254364494 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.485039254364494 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1124,7 +1124,7 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> He4 + O14 @@ -1160,13 +1160,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.160347955038674 + -59.35823432141371 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.35823432141371 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1181,13 +1181,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.01796795503867 + -71.51723432141371 * tfactors.T9i + 6.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.51723432141371 * tfactors.T9i * tfactors.T9i + 6.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1201,12 +1201,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 28.243807955038672 + -81.96823432141372 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.96823432141372 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1220,12 +1220,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 22.56327795503867 + -71.08823432141371 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.08823432141371 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1240,7 +1240,7 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> p + F18 @@ -1276,13 +1276,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.192220240787112 + -77.27667559674641 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.27667559674641 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1297,13 +1297,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.39950975921289 + -74.78415559674642 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.78415559674642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1318,13 +1318,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 81.45789024078711 + -74.38520559674642 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.38520559674642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1339,7 +1339,7 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> He4 + O15 @@ -1375,13 +1375,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -7.510242070092687 + -45.15053612970033 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.15053612970033 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1395,12 +1395,12 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from dc11r ln_set_rate = 24.694111429907313 + -46.83053612970032 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.83053612970032 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1415,13 +1415,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.03075792990731 + -40.946146129700324 * tfactors.T9i + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.946146129700324 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1436,7 +1436,7 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> p + F19 @@ -1472,13 +1472,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.711255537457795 + -156.78628300750532 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 156.78628300750532 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1493,13 +1493,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 36.72378553745779 + -150.75597300750533 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.75597300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1514,13 +1514,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.62288553745779 + -149.04214300750533 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 149.04214300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1535,7 +1535,7 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -1570,12 +1570,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1590,13 +1590,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1611,13 +1611,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1632,7 +1632,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg22 --> He4 + Ne18 @@ -1668,13 +1668,13 @@ void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 57.680013188545345 + -94.4898569232192 * tfactors.T9i + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.4898569232192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1689,7 +1689,7 @@ void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -1725,13 +1725,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1745,12 +1745,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1764,12 +1764,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1784,13 +1784,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1805,7 +1805,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -1837,13 +1837,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1858,13 +1858,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1879,13 +1879,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1900,7 +1900,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 + He4 --> p + N15 @@ -1944,13 +1944,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.135846229234243 + -57.62215691264642 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 57.62215691264642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1965,13 +1965,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.915773770765759 + -58.78595691264642 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.78595691264642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1986,13 +1986,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.556646229234243 + -65.02815691264642 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.02815691264642 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2007,13 +2007,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -5.21402377076576 + -59.643326912646415 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.643326912646415 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2028,7 +2028,7 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 + He4 --> p + O17 @@ -2071,13 +2071,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.592359780998223 + -14.584520682879308 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.584520682879308 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2092,13 +2092,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.194270219001776 + -13.831125682879309 * tfactors.T9i + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.831125682879309 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2113,13 +2113,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 9.789270219001777 + -18.78977568287931 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.78977568287931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2134,13 +2134,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.148870219001777 + -15.945895682879309 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.945895682879309 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2155,7 +2155,7 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N15 + He4 --> p + O18 @@ -2198,13 +2198,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -29.6926341462146 + -46.42955443414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.42955443414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2219,13 +2219,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.178865853785396 + -46.183670434142684 * tfactors.T9i + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.183670434142684 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2240,13 +2240,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.155285853785398 + -51.50702043414268 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.50702043414268 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2261,13 +2261,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.4842658537854 + -47.84667043414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 47.84667043414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2282,7 +2282,7 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 + He4 --> p + F18 @@ -2324,13 +2324,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.0671723108797964 + -36.45580946704611 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.45580946704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2345,13 +2345,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -32.4286676891202 + -33.81549146704611 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.81549146704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2366,13 +2366,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.315932310879795 + -33.43905946704611 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.43905946704611 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2387,7 +2387,7 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -2430,13 +2430,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2451,7 +2451,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + He4 --> p + F19 @@ -2493,13 +2493,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -53.121227264044336 + -94.28220973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.28220973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2514,13 +2514,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.874672735955667 + -94.15455973651265 * tfactors.T9i + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.15455973651265 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2535,13 +2535,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.941672735955667 + -97.44055973651265 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.44055973651265 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2556,13 +2556,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.778572735955667 + -97.90640973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.90640973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2577,13 +2577,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.822072735955667 + -96.62283973651265 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 96.62283973651265 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2598,7 +2598,7 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + p --> He4 + O14 @@ -2640,13 +2640,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.415567488049104 + -25.85518506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.85518506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2661,13 +2661,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.938467488049106 + -39.83288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 39.83288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2682,13 +2682,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.122467488049104 + -13.83288506704921 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.83288506704921 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2703,13 +2703,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.595367488049106 + -36.34288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.34288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2724,13 +2724,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.405067488049104 + -27.43288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.43288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2745,13 +2745,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.80433251195089 + -14.285921067049209 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.285921067049209 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2766,7 +2766,7 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + He4 --> p + Ne20 @@ -2808,13 +2808,13 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.645331236377224 + -0.004848799532844339 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 0.004848799532844339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2829,7 +2829,7 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> C12 + C12 @@ -2866,13 +2866,13 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.474151468919175 + -53.57824966896331 * tfactors.T9i + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.57824966896331 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2887,7 +2887,7 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> C12 + O16 @@ -2929,13 +2929,13 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 49.57295819231048 + -78.2098115311048 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.2098115311048 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2965,186 +2965,366 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_N14_to_p_C13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; - - } - rate_O14_to_p_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; - - } - rate_O15_to_p_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; - - } - rate_O16_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_F17_to_p_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; - - } - rate_F18_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; - - } - rate_F18_to_He4_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; - - } - rate_F19_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; - - } - rate_F19_to_He4_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; - - } - rate_Ne18_to_p_F17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; - - } - rate_Ne18_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; - - } - rate_Ne19_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; - - } - rate_Ne19_to_He4_O15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; - - } - rate_Ne20_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg22_to_He4_Ne18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg22_to_He4_Ne18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_He4_C12_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; - - } - rate_He4_N14_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; - - } - rate_He4_N15_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; - - } - rate_He4_O15_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_O16_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; - - } - rate_p_F17_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; - - } - rate_He4_Ne20_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N14_to_p_C13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_p_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_p_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_p_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_He4_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_He4_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_p_F17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_He4_O15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg22_to_He4_Ne18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg22_to_He4_Ne18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; + } } - rate_He4_Mg24_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; - } } #endif diff --git a/networks/CNO_extras/pynucastro-info.txt b/networks/CNO_extras/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/CNO_extras/pynucastro-info.txt +++ b/networks/CNO_extras/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/CNO_extras/reaclib_rates.H b/networks/CNO_extras/reaclib_rates.H index 16e94b165..28a8158f5 100644 --- a/networks/CNO_extras/reaclib_rates.H +++ b/networks/CNO_extras/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -39,8 +46,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -55,7 +66,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -70,8 +81,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -86,7 +101,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -101,8 +116,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -117,7 +136,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -132,9 +151,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,9 +172,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -166,7 +193,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -181,9 +208,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -198,9 +229,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -215,7 +250,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -230,9 +265,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -247,9 +286,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -264,9 +307,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -281,7 +328,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -296,9 +343,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -313,9 +364,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -330,7 +385,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -345,9 +400,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -362,9 +421,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -379,9 +442,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -396,9 +463,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -413,7 +484,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -428,9 +499,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -445,9 +520,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -462,9 +541,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -479,7 +562,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -494,9 +577,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -511,9 +598,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -528,9 +619,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -545,7 +640,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> F19 @@ -560,9 +655,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -577,9 +676,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -594,9 +697,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -611,9 +718,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -628,7 +739,7 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> Ne18 @@ -643,9 +754,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -660,9 +775,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + 5.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + 5.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -677,9 +796,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -694,9 +817,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,7 +838,7 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> Ne19 @@ -726,9 +853,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -743,9 +874,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -760,9 +895,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -777,7 +916,7 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -792,9 +931,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +952,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -824,9 +967,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -841,9 +988,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -858,9 +1009,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -875,7 +1030,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -890,9 +1045,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -907,9 +1066,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -924,9 +1087,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -941,7 +1108,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> F19 @@ -956,9 +1123,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -973,9 +1144,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -990,9 +1165,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1007,9 +1186,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1024,7 +1207,7 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> Ne18 @@ -1039,9 +1222,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1056,9 +1243,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1073,7 +1264,7 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> Ne19 @@ -1088,9 +1279,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1105,9 +1300,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1122,9 +1321,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1139,7 +1342,7 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> Ne20 @@ -1154,9 +1357,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1171,9 +1378,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1188,9 +1399,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1205,7 +1420,7 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + He4 --> Mg22 @@ -1220,9 +1435,13 @@ void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 32.8865 + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1237,7 +1456,7 @@ void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -1252,9 +1471,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1269,9 +1492,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1286,9 +1513,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1303,9 +1534,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1320,7 +1555,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -1335,9 +1570,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1352,7 +1591,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -1367,9 +1606,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1384,7 +1627,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -1399,9 +1642,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1416,9 +1663,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1433,9 +1684,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1450,9 +1705,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1467,7 +1726,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -1482,9 +1741,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1499,9 +1762,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1516,9 +1783,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1533,9 +1804,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1550,9 +1825,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1567,9 +1846,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1584,7 +1867,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -1599,9 +1882,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1616,7 +1903,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -1631,9 +1918,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1648,9 +1939,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1665,9 +1960,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1682,9 +1981,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1699,7 +2002,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> He4 + N15 @@ -1714,9 +2017,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1731,9 +2038,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1748,9 +2059,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1765,9 +2080,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1782,7 +2101,7 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -1797,9 +2116,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1814,9 +2137,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1831,9 +2158,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1848,7 +2179,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> He4 + O16 @@ -1863,9 +2194,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1880,9 +2215,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1897,9 +2236,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1914,9 +2257,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1931,9 +2278,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1948,7 +2299,7 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> He4 + F17 @@ -1963,9 +2314,13 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1980,7 +2335,7 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1995,9 +2350,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2012,9 +2371,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2029,9 +2392,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2055,204 +2422,516 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_He4_N15_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; - - } - rate_He4_O14_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_O15_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_p_O18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; - - } - rate_p_F17_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; - - } - rate_p_F18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; - - } - rate_p_F19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne18_to_Mg22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_O18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_p_F19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; - - } - rate_p_Ne20_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne18); + } +#endif + rate_He4_Ne18_to_Mg22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - } } diff --git a/networks/ECSN/ECSN.png b/networks/ECSN/ECSN.png index 52369dea8ed7ec5e63205eeea8a677c03ec47504..4a0a2f11c5f3baded2b83be5de45175b414ec9bf 100644 GIT binary patch literal 61708 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 literal 61596 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 JTxM)L^lxXLI-CFi diff --git a/networks/ECSN/actual_network.H b/networks/ECSN/actual_network.H index 5769ec777..8c7e4e014 100644 --- a/networks/ECSN/actual_network.H +++ b/networks/ECSN/actual_network.H @@ -176,6 +176,20 @@ namespace Rates NumRates = k_O20_to_F20_weaktab }; + enum ScreenPairs : + std::uint8_t + { + k_He4_O16 = 1, + k_He4_Ne20 = 2, + k_He4_Mg24 = 3, + k_p_Al27 = 4, + k_He4_Al27 = 5, + k_He4_Si28 = 6, + k_p_P31 = 7, + k_O16_O16 = 8, + NumScreenPairs = k_O16_O16 + }; + // 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 // NetworkRates enum diff --git a/networks/ECSN/actual_rhs.H b/networks/ECSN/actual_rhs.H index 628bf5560..794706c60 100644 --- a/networks/ECSN/actual_rhs.H +++ b/networks/ECSN/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,177 +64,124 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 27.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/ECSN/pynucastro-info.txt b/networks/ECSN/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/ECSN/pynucastro-info.txt +++ b/networks/ECSN/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/ECSN/reaclib_rates.H b/networks/ECSN/reaclib_rates.H index b841ec407..6a77fa8b6 100644 --- a/networks/ECSN/reaclib_rates.H +++ b/networks/ECSN/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 --> He4 + O16 @@ -38,8 +45,12 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // co10r ln_set_rate = 28.6431 + -65.246 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.246 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -54,9 +65,13 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.6604 + -54.8875 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 54.8875 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -71,9 +86,13 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.2658 + -67.6518 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.6518 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -88,7 +107,7 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -103,9 +122,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -120,9 +143,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -137,9 +164,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,7 +185,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -169,9 +200,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -186,9 +221,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -203,9 +242,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +263,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,7 +284,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -252,9 +299,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -269,9 +320,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -286,7 +341,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -301,9 +356,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -318,9 +377,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -335,9 +398,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -352,7 +419,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + He4 --> P31 @@ -367,9 +434,13 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.2333 + -56.5351 * tfactors.T913i + -0.896208 * tfactors.T913 + -1.72024 * tfactors.T9 + 0.185409 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * -0.896208 * tfactors.T923i + -1.72024 + (5.0/3.0) * 0.185409 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -384,7 +455,7 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -399,9 +470,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -416,7 +491,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -431,9 +506,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -448,9 +527,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -465,9 +548,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -482,7 +569,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -497,9 +584,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -514,7 +605,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -529,9 +620,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -546,7 +641,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> p + Al27 @@ -561,9 +656,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.2862 + -19.5422 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.5422 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -578,9 +677,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.44575 + -22.8216 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.8216 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -595,9 +698,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.0397 + -18.5791 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.5791 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -612,7 +719,7 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -627,9 +734,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -644,9 +755,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -661,9 +776,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +797,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> p + P31 @@ -693,9 +812,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.4595 + -24.112 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.112 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,9 +833,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.4335 + -25.6606 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.6606 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -727,9 +854,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.3424 + -22.2348 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.2348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -744,7 +875,7 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -759,9 +890,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -776,9 +911,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -793,9 +932,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -819,90 +962,224 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_Ne20_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne20_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Al27_to_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_He4_Si28_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al27); + } +#endif + rate_He4_Al27_to_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - } } diff --git a/networks/he-burn/ase-iron/actual_network.H b/networks/he-burn/ase-iron/actual_network.H index 0aaa22d7c..84ddce324 100644 --- a/networks/he-burn/ase-iron/actual_network.H +++ b/networks/he-burn/ase-iron/actual_network.H @@ -389,6 +389,48 @@ namespace Rates NumRates = k_Ni57_to_n_Ni56_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_He4_Cr48 = 10, + k_p_Mn51 = 11, + k_He4_Mn51 = 12, + k_He4_Fe52 = 13, + k_p_Co55 = 14, + k_C12_C12 = 15, + k_He4_N13 = 16, + k_C12_O16 = 17, + k_O16_O16 = 18, + k_He4_He4 = 19, + k_He4_Be8 = 20, + k_p_Fe54 = 21, + k_He4_Fe54 = 22, + k_p_Fe56 = 23, + k_p_Co57 = 24, + k_He4_Co55 = 25, + k_p_O16 = 26, + k_p_Co56 = 27, + k_p_Ni58 = 28, + k_He4_S32 = 29, + k_p_Cl35 = 30, + k_He4_Ar36 = 31, + k_p_K39 = 32, + k_He4_Ca40 = 33, + k_p_Sc43 = 34, + k_He4_Ti44 = 35, + k_p_V47 = 36, + NumScreenPairs = k_p_V47 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/ase-iron/actual_rhs.H b/networks/he-burn/ase-iron/actual_rhs.H index 7440354fe..1f9e81926 100644 --- a/networks/he-burn/ase-iron/actual_rhs.H +++ b/networks/he-burn/ase-iron/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,772 +64,404 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_O16_O16_derived); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.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_Co55_to_Ni56_reaclib); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.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_Fe54_to_Co55_reaclib); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe54) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe54) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.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_Fe56_to_Co57_reaclib); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe56) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived); - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.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_Ni58_to_He4_Co55_derived); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni58) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/he-burn/ase-iron/ase-iron.png b/networks/he-burn/ase-iron/ase-iron.png index d8a00636c4dd740001a00c455d226b3b7b90af89..937a35d1d54200a15383f6971306564cc97f3245 100644 GIT binary patch literal 78634 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 literal 79340 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 diff --git a/networks/he-burn/ase-iron/derived_rates.H b/networks/he-burn/ase-iron/derived_rates.H index 36ccd5901..a22260936 100644 --- a/networks/he-burn/ase-iron/derived_rates.H +++ b/networks/he-burn/ase-iron/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -845,13 +845,13 @@ void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -866,7 +866,7 @@ void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -902,13 +902,13 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -923,7 +923,7 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> He4 + Mn51 @@ -959,13 +959,13 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.61473213109255 + -95.29300562248025 * tfactors.T9i + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 95.29300562248025 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -980,7 +980,7 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -1016,13 +1016,13 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1037,7 +1037,7 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -1073,13 +1073,13 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1094,7 +1094,7 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -1126,13 +1126,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1147,13 +1147,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1168,13 +1168,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1189,7 +1189,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -1232,13 +1232,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1253,7 +1253,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1295,13 +1295,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1316,13 +1316,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1337,13 +1337,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1358,7 +1358,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> C12 + C12 @@ -1395,13 +1395,13 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.474151468919175 + -53.57824966896331 * tfactors.T9i + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.57824966896331 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1416,7 +1416,7 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 + p --> C12 + C12 @@ -1453,13 +1453,13 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.92541574740554 + -26.004360836807496 * tfactors.T9i + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.004360836807496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1474,7 +1474,7 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1516,13 +1516,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1537,13 +1537,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1558,13 +1558,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1579,7 +1579,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> C12 + O16 @@ -1621,13 +1621,13 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 49.57295819231048 + -78.2098115311048 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.2098115311048 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1642,7 +1642,7 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Al27 + p --> C12 + O16 @@ -1684,13 +1684,13 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.96430994536895 + -59.8005159928172 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.8005159928172 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1705,7 +1705,7 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1747,13 +1747,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1768,13 +1768,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1789,13 +1789,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1810,7 +1810,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> O16 + O16 @@ -1846,13 +1846,13 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.78921572069022 + -111.60083385054465 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 111.60083385054465 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1867,7 +1867,7 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // P31 + p --> O16 + O16 @@ -1903,13 +1903,13 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.33118481035693 + -88.87103716814843 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.87103716814843 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1924,7 +1924,7 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -1966,13 +1966,13 @@ void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1987,7 +1987,7 @@ void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -2029,13 +2029,13 @@ void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2050,7 +2050,7 @@ void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> C12 + C12 @@ -2081,13 +2081,13 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 12.203060308868553 + -191.84225839903127 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 191.84225839903127 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2102,7 +2102,7 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> O16 + O16 @@ -2132,13 +2132,13 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 102.9883182326601 + -192.3301592962798 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 9.12001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 192.3301592962798 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 9.12001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2153,7 +2153,7 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> C12 + O16 @@ -2189,13 +2189,13 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -106.3111878016318 + -195.9077167184711 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -176.78 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 195.9077167184711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -176.78 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2210,7 +2210,7 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> p + Fe54 @@ -2246,13 +2246,13 @@ void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.84851844810452 + -58.76958578644693 * tfactors.T9i + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.76958578644693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2267,7 +2267,7 @@ void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 --> n + Co55 @@ -2303,13 +2303,13 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.647564333711024 + -116.994640839646 * tfactors.T9i + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 116.994640839646 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2324,7 +2324,7 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> n + Co56 @@ -2360,13 +2360,13 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.17386809654295 + -132.01901045161702 * tfactors.T9i + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 132.01901045161702 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2381,7 +2381,7 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> p + Fe56 @@ -2417,13 +2417,13 @@ void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.68564187237867 + -69.94636137001572 * tfactors.T9i + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 69.94636137001572 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2438,7 +2438,7 @@ void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> p + Co57 @@ -2474,13 +2474,13 @@ void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.794489871251855 + -94.83410720454592 * tfactors.T9i + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.83410720454592 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2495,7 +2495,7 @@ void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> He4 + Fe54 @@ -2531,13 +2531,13 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.23428031558652 + -74.25981652709197 * tfactors.T9i + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.25981652709197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2552,7 +2552,7 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + p --> He4 + Mn51 @@ -2594,13 +2594,13 @@ void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 65.35241368298804 + -36.52341983603332 * tfactors.T9i + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.52341983603332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2615,7 +2615,7 @@ void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + He4 --> p + Co57 @@ -2657,13 +2657,13 @@ void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -1.404090444334669 + -20.574290677453938 * tfactors.T9i + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 20.574290677453938 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2678,7 +2678,7 @@ void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 + p --> n + Co56 @@ -2720,13 +2720,13 @@ void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.653426224164285 + -62.07264908160129 * tfactors.T9i + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.07264908160129 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2741,7 +2741,7 @@ void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 + p --> n + Ni56 @@ -2783,13 +2783,13 @@ void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.374260291785419 + -33.830037058152215 * tfactors.T9i + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.830037058152215 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2804,7 +2804,7 @@ void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 + p --> He4 + Co55 @@ -2846,13 +2846,13 @@ void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 63.596461867482006 + -15.490230740645051 * tfactors.T9i + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.490230740645051 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2867,7 +2867,7 @@ void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -2909,13 +2909,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2930,13 +2930,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2951,13 +2951,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2972,13 +2972,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2993,7 +2993,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -3029,13 +3029,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3050,7 +3050,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -3085,12 +3085,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3105,13 +3105,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3126,13 +3126,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3146,12 +3146,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3166,7 +3166,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -3208,13 +3208,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3229,7 +3229,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -3265,13 +3265,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3286,7 +3286,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -3322,13 +3322,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3343,13 +3343,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3364,13 +3364,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3385,7 +3385,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -3427,13 +3427,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3448,7 +3448,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -3484,13 +3484,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3505,7 +3505,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -3541,13 +3541,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3562,7 +3562,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -3598,13 +3598,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3619,7 +3619,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -3655,13 +3655,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3676,13 +3676,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3697,13 +3697,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3718,13 +3718,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3739,7 +3739,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -3781,13 +3781,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3802,7 +3802,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 --> n + Fe53 @@ -3838,13 +3838,13 @@ void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.23234536763494 + -155.25009527915816 * tfactors.T9i + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 155.25009527915816 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3859,7 +3859,7 @@ void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe53 --> n + Fe52 @@ -3895,13 +3895,13 @@ void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.50789742709652 + -124.01421385132892 * tfactors.T9i + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 124.01421385132892 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3916,7 +3916,7 @@ void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 --> n + Fe55 @@ -3952,13 +3952,13 @@ void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.806892234523204 + -130.0322634199283 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 7.97093 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 130.0322634199283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 7.97093 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3973,7 +3973,7 @@ void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe55 --> n + Fe54 @@ -4009,13 +4009,13 @@ void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.50487677145662 + -107.84100838776591 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -8.28317 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 107.84100838776591 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -8.28317 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4030,7 +4030,7 @@ void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> n + Ni57 @@ -4066,13 +4066,13 @@ void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.36077897558323 + -141.76332431826057 * tfactors.T9i + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 141.76332431826057 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4087,7 +4087,7 @@ void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 --> n + Ni56 @@ -4123,13 +4123,13 @@ void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.391039283996996 + -118.91983039605458 * tfactors.T9i + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 118.91983039605458 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4159,360 +4159,722 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_Fe52_to_p_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_derived) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; - - } - rate_Co55_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; - - } - rate_Ni56_to_p_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Ne20_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; - - } - rate_p_Na23_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Mg24_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; - - } - rate_p_Al27_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_Si28_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; - - } - rate_p_P31_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = drate_dT; - - } - rate_p_Co55_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; - - } - rate_Mg24_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; - - } - rate_S32_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; - - } - rate_Si28_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; - - } - rate_Co55_to_p_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co55_to_p_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_derived) = drate_dT; - - } - rate_Co56_to_n_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; - - } - rate_Co57_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; - - } - rate_Co57_to_p_Fe56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_p_Fe56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_derived) = drate_dT; - - } - rate_Ni58_to_p_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_p_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_derived) = drate_dT; - - } - rate_Ni58_to_He4_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; - - } - rate_p_Fe54_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = drate_dT; - - } - rate_He4_Fe54_to_p_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = drate_dT; - - } - rate_p_Fe56_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = drate_dT; - - } - rate_p_Co56_to_n_Ni56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = drate_dT; - - } - rate_p_Ni58_to_He4_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe54_to_n_Fe53_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe54_to_n_Fe53_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_removed) = drate_dT; - - } - rate_Fe53_to_n_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe53_to_n_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_removed) = drate_dT; - - } - rate_Fe56_to_n_Fe55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe56_to_n_Fe55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_removed) = drate_dT; - - } - rate_Fe55_to_n_Fe54_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe55_to_n_Fe54_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_removed) = drate_dT; - - } - rate_Ni58_to_n_Ni57_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_n_Ni57_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_p_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_p_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_n_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_p_Fe56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_p_Fe56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_p_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_p_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_He4_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_p_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_n_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_He4_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_n_Fe53_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe54_to_n_Fe53_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_n_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe53_to_n_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_n_Fe55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe56_to_n_Fe55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_n_Fe54_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe55_to_n_Fe54_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_n_Ni57_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_n_Ni57_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_n_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni57_to_n_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_removed) = drate_dT; + } } - rate_Ni57_to_n_Ni56_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni57_to_n_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/ase-iron/pynucastro-info.txt b/networks/he-burn/ase-iron/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/ase-iron/pynucastro-info.txt +++ b/networks/he-burn/ase-iron/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/ase-iron/reaclib_rates.H b/networks/he-burn/ase-iron/reaclib_rates.H index f991ab47c..72c18a572 100644 --- a/networks/he-burn/ase-iron/reaclib_rates.H +++ b/networks/he-burn/ase-iron/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -565,9 +664,13 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -597,9 +700,13 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> Co55 @@ -629,9 +736,13 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.9219 + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -661,9 +772,13 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -693,9 +808,13 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -725,9 +844,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -757,9 +880,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -789,9 +916,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,7 +937,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -821,9 +952,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -838,7 +973,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -853,9 +988,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,7 +1009,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -885,9 +1024,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -902,7 +1045,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -917,9 +1060,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -934,7 +1081,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -949,9 +1096,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -966,9 +1117,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -983,9 +1138,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1000,7 +1159,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -1015,9 +1174,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1032,9 +1195,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1049,9 +1216,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1066,7 +1237,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -1081,9 +1252,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1098,9 +1273,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1115,9 +1294,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1132,7 +1315,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -1147,9 +1330,13 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1164,7 +1351,7 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -1179,9 +1366,13 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1196,7 +1387,7 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1211,9 +1402,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1228,9 +1423,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1245,9 +1444,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1262,7 +1465,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1277,9 +1480,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1294,7 +1501,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1309,9 +1516,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1326,7 +1537,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1341,9 +1552,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1358,7 +1573,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p --> Co55 @@ -1373,9 +1588,13 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2304 + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1390,7 +1609,7 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> Ni58 @@ -1405,9 +1624,13 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.2478 + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1422,7 +1645,7 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p --> Co57 @@ -1437,9 +1660,13 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0665 + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1454,7 +1681,7 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> Co56 @@ -1469,9 +1696,13 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.065 + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1486,7 +1717,7 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> Co57 @@ -1501,9 +1732,13 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.3552 + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1518,7 +1753,7 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> Ni58 @@ -1533,9 +1768,13 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0159 + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1550,7 +1789,7 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> p + Fe54 @@ -1565,9 +1804,13 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2777 + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1582,7 +1825,7 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> p + Ni58 @@ -1597,9 +1840,13 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.2281 + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1614,7 +1861,7 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> p + Fe56 @@ -1629,9 +1876,13 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4539 + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1646,7 +1897,7 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> He4 + Fe54 @@ -1661,9 +1912,13 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.1962 + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1678,7 +1933,7 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> p + Co56 @@ -1693,9 +1948,13 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.5693 + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1710,7 +1969,7 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -1725,9 +1984,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1742,7 +2005,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -1757,9 +2020,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1774,9 +2041,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1791,9 +2062,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1808,9 +2083,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1825,7 +2104,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -1840,9 +2119,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1857,9 +2140,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1874,9 +2161,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1891,9 +2182,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1908,7 +2203,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -1923,9 +2218,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1940,7 +2239,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -1955,9 +2254,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1972,9 +2275,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1989,9 +2296,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2006,7 +2317,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -2021,9 +2332,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2038,7 +2353,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -2053,9 +2368,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2070,7 +2389,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -2085,9 +2404,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2102,7 +2425,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -2117,9 +2440,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2134,7 +2461,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -2149,9 +2476,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2166,7 +2497,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -2181,9 +2512,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2198,7 +2533,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -2213,9 +2548,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2230,9 +2569,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2247,9 +2590,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2264,9 +2611,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2281,7 +2632,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> Fe53 @@ -2296,9 +2647,13 @@ void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8885 + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2313,7 +2668,7 @@ void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> Fe54 @@ -2328,9 +2683,13 @@ void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.4534 + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2345,7 +2704,7 @@ void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> Fe55 @@ -2360,9 +2719,13 @@ void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.80864 + 0.0591716 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -9.78317 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0591716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -9.78317 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2377,7 +2740,7 @@ void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> Fe56 @@ -2392,9 +2755,13 @@ void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7202 + -0.0955677 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 6.47093 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0955677 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 6.47093 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2409,7 +2776,7 @@ void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> Ni57 @@ -2424,9 +2791,13 @@ void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.0765 + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2441,7 +2812,7 @@ void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> Ni58 @@ -2456,9 +2827,13 @@ void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2731 + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2473,29 +2848,29 @@ void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -2769,378 +3144,938 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; - - } - rate_p_Mn51_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; - - } - rate_p_Co55_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_p_Fe54_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; - - } - rate_p_Fe56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; - - } - rate_n_Co55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; - - } - rate_n_Co56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; - - } - rate_p_Co57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; - - } - rate_He4_Co55_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; - - } - rate_n_Co56_to_p_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; - - } - rate_p_Co57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_n_Ni56_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_n_Fe52_to_Fe53_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed) = drate_dT; - - } - rate_n_Fe53_to_Fe54_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed) = drate_dT; - - } - rate_n_Fe54_to_Fe55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed) = drate_dT; - - } - rate_n_Fe55_to_Fe56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed) = drate_dT; - - } - rate_n_Ni56_to_Ni57_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed) = drate_dT; - - } - rate_n_Ni57_to_Ni58_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_p_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_Fe53_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_Fe54_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_Fe55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_Fe56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_Ni57_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_Ni58_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -3160,87 +4095,87 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Fe52_n_n_to_Fe54_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe52_n_n_to_Fe54_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_n_n_to_Fe54_approx) = drate_dT; - } + rate_Fe54_to_Fe52_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe54_to_Fe52_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe54_to_Fe52_n_n_approx) = drate_dT; - } + rate_Fe54_n_n_to_Fe56_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe54_n_n_to_Fe56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe54_n_n_to_Fe56_approx) = drate_dT; - } + rate_Fe56_to_Fe54_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe56_to_Fe54_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe56_to_Fe54_n_n_approx) = drate_dT; - } + rate_Ni56_n_n_to_Ni58_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Ni56_n_n_to_Ni58_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_n_n_to_Ni58_approx) = drate_dT; - } + rate_Ni58_to_Ni56_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Ni58_to_Ni56_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni58_to_Ni56_n_n_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/ase-test/actual_network.H b/networks/he-burn/ase-test/actual_network.H index 3c7f29e9d..4d122a83b 100644 --- a/networks/he-burn/ase-test/actual_network.H +++ b/networks/he-burn/ase-test/actual_network.H @@ -307,6 +307,42 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_C12_C12 = 10, + k_He4_N13 = 11, + k_C12_O16 = 12, + k_O16_O16 = 13, + k_p_Ne20 = 14, + k_He4_He4 = 15, + k_He4_Be8 = 16, + k_p_O16 = 17, + k_He4_F17 = 18, + k_He4_S32 = 19, + k_p_Cl35 = 20, + k_He4_Ar36 = 21, + k_p_K39 = 22, + k_He4_Ca40 = 23, + k_p_Sc43 = 24, + k_He4_Ti44 = 25, + k_p_V47 = 26, + k_He4_Cr48 = 27, + k_p_Mn51 = 28, + k_He4_Fe52 = 29, + k_p_Co55 = 30, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/ase-test/actual_rhs.H b/networks/he-burn/ase-test/actual_rhs.H index c9475ff54..5f1a2d621 100644 --- a/networks/he-burn/ase-test/actual_rhs.H +++ b/networks/he-burn/ase-test/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,681 +64,365 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - if (disable_p_C12_to_N13_reaclib) { - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; - } - rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; - } - } - - if (disable_He4_N13_to_p_O16_reaclib) { - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; - } - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; - } - } - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_O16_O16_derived); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.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_Ne20_to_He4_F17_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_p_to_F17_iliadis); - rate_eval.screened_rates(k_O16_p_to_F17_iliadis) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_p_to_F17_iliadis); - rate_eval.dscreened_rates_dT(k_O16_p_to_F17_iliadis) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.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_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + // here Y is consistent with state.xn - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + const tf_t tfactors = evaluate_tfactors(state.T); + // Precompute screening terms - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + if (disable_p_C12_to_N13_reaclib) { + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; + } + rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; + } } - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + if (disable_He4_N13_to_p_O16_reaclib) { + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; + } + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; + } } -#endif // Fill approximate rates diff --git a/networks/he-burn/ase-test/ase_test.png b/networks/he-burn/ase-test/ase_test.png index 45fe45d38f128e33ed73a4bb258e7bf4ff456069..6bc036e78d7cbe7f5e2c685715e2fd5fccac6dd9 100644 GIT binary patch literal 149800 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 literal 149525 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

Cj)xftY{S3SH`{?eSxt- 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 diff --git a/networks/he-burn/ase-test/derived_rates.H b/networks/he-burn/ase-test/derived_rates.H index 63dad30b0..c8c2ec26a 100644 --- a/networks/he-burn/ase-test/derived_rates.H +++ b/networks/he-burn/ase-test/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -841,13 +841,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -862,13 +862,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -883,13 +883,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -904,7 +904,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -947,13 +947,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -968,7 +968,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + He4 --> p + Ne20 @@ -1010,13 +1010,13 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.645331236377224 + -0.004848799532844339 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 0.004848799532844339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1031,7 +1031,7 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1073,13 +1073,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1094,13 +1094,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1115,13 +1115,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1136,7 +1136,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> C12 + C12 @@ -1173,13 +1173,13 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.474151468919175 + -53.57824966896331 * tfactors.T9i + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.57824966896331 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1194,7 +1194,7 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 + p --> C12 + C12 @@ -1231,13 +1231,13 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.92541574740554 + -26.004360836807496 * tfactors.T9i + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.004360836807496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1252,7 +1252,7 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1294,13 +1294,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1315,13 +1315,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1336,13 +1336,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1357,7 +1357,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> C12 + O16 @@ -1399,13 +1399,13 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 49.57295819231048 + -78.2098115311048 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.2098115311048 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1420,7 +1420,7 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Al27 + p --> C12 + O16 @@ -1462,13 +1462,13 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.96430994536895 + -59.8005159928172 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.8005159928172 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1483,7 +1483,7 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1525,13 +1525,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1546,13 +1546,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1567,13 +1567,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1588,7 +1588,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> O16 + O16 @@ -1624,13 +1624,13 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.78921572069022 + -111.60083385054465 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 111.60083385054465 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1645,7 +1645,7 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // P31 + p --> O16 + O16 @@ -1681,13 +1681,13 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.33118481035693 + -88.87103716814843 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.87103716814843 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1702,7 +1702,7 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> C12 + C12 @@ -1733,13 +1733,13 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 12.203060308868553 + -191.84225839903127 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 191.84225839903127 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1754,7 +1754,7 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> O16 + O16 @@ -1784,13 +1784,13 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 102.9883182326601 + -192.3301592962798 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 9.12001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 192.3301592962798 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 9.12001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1805,7 +1805,7 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> C12 + O16 @@ -1841,13 +1841,13 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -106.3111878016318 + -195.9077167184711 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -176.78 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 195.9077167184711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -176.78 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1862,7 +1862,7 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_O16_p_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F17_to_O16_p_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 --> O16 + p @@ -1898,7 +1898,7 @@ void rate_F17_to_O16_p_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // Apply Equilibrium Ratio constexpr amrex::Real Q_kBGK = -0.6002689639985703 * 1.0e-9_rt / C::k_MeV; amrex::Real Q_kBT = Q_kBGK * tfactors.T9i; - _rate += 21.841444037879352 + Q_kBT + net_log_pf; + _rate += 21.841444037879352 + Q_kBT + net_log_pf + log_scor; _rate += 1.5 * tfactors.lnT9; // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1908,7 +1908,7 @@ void rate_F17_to_O16_p_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // we found dlog(rate)/dlog(T9) if constexpr (std::is_same_v) { // Convert to dlog(rate)/dT9 first - _drate_dT = (_drate_dT + 1.5 - Q_kBT) * tfactors.T9i + net_dlog_pf_dT9; + _drate_dT = (_drate_dT + 1.5 - Q_kBT) * tfactors.T9i + net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; drate_dT = rate * _drate_dT * 1.0e-9_rt; } @@ -1916,7 +1916,7 @@ void rate_F17_to_O16_p_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -1958,13 +1958,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1979,13 +1979,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2000,13 +2000,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2021,13 +2021,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2042,7 +2042,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -2078,13 +2078,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2099,7 +2099,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -2134,12 +2134,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2154,13 +2154,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2175,13 +2175,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2195,12 +2195,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2215,7 +2215,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -2257,13 +2257,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2278,7 +2278,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -2314,13 +2314,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2335,7 +2335,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -2371,13 +2371,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2392,13 +2392,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2413,13 +2413,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2434,7 +2434,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -2476,13 +2476,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2497,7 +2497,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -2533,13 +2533,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2554,7 +2554,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -2590,13 +2590,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2611,7 +2611,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -2647,13 +2647,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2668,7 +2668,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -2704,13 +2704,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2725,13 +2725,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2746,13 +2746,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2767,13 +2767,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2788,7 +2788,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -2830,13 +2830,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2851,7 +2851,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -2887,13 +2887,13 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2908,7 +2908,7 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -2944,13 +2944,13 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2965,7 +2965,7 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -3007,13 +3007,13 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3028,7 +3028,7 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -3064,13 +3064,13 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3085,7 +3085,7 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -3121,13 +3121,13 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3142,7 +3142,7 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -3184,13 +3184,13 @@ void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3220,264 +3220,538 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Ne20_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; - - } - rate_p_Na23_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Mg24_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; - - } - rate_p_Al27_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_Si28_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; - - } - rate_p_P31_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; - - } - rate_Mg24_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; - - } - rate_S32_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; - - } - rate_Si28_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; - - } - rate_F17_to_O16_p_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F17_to_O16_p_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_O16_p_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; - - } - rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; - - } - rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_O16_p_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F17_to_O16_p_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_O16_p_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/ase-test/pynucastro-info.txt b/networks/he-burn/ase-test/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/ase-test/pynucastro-info.txt +++ b/networks/he-burn/ase-test/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/ase-test/reaclib_rates.H b/networks/he-burn/ase-test/reaclib_rates.H index 967e6eb89..11593b3f0 100644 --- a/networks/he-burn/ase-test/reaclib_rates.H +++ b/networks/he-burn/ase-test/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -565,9 +664,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -597,9 +700,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -629,9 +736,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -661,9 +772,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -693,9 +808,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -725,9 +844,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -757,9 +880,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> He4 + F17 @@ -789,9 +916,13 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,7 +937,7 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -821,9 +952,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -838,9 +973,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -855,9 +994,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -872,7 +1015,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -887,9 +1030,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -904,9 +1051,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -921,9 +1072,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -938,7 +1093,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -953,9 +1108,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -970,9 +1129,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -987,9 +1150,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1004,7 +1171,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1019,9 +1186,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1036,9 +1207,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1053,9 +1228,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1070,7 +1249,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1085,9 +1264,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1102,7 +1285,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1117,9 +1300,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1134,7 +1321,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1149,9 +1336,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1166,7 +1357,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -1181,9 +1372,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1198,7 +1393,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -1213,9 +1408,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1230,9 +1429,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1247,9 +1450,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1264,9 +1471,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1281,7 +1492,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -1296,9 +1507,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1313,9 +1528,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1330,9 +1549,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1347,9 +1570,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1364,7 +1591,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -1379,9 +1606,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1396,7 +1627,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -1411,9 +1642,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1428,9 +1663,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1445,9 +1684,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1462,7 +1705,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -1477,9 +1720,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1494,7 +1741,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -1509,9 +1756,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1526,7 +1777,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -1541,9 +1792,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1558,7 +1813,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -1573,9 +1828,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1590,7 +1849,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -1605,9 +1864,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1622,7 +1885,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -1637,9 +1900,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1654,7 +1921,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -1669,9 +1936,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1686,9 +1957,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1703,9 +1978,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1720,9 +1999,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1737,7 +2020,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -1752,9 +2035,13 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1769,7 +2056,7 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -1784,9 +2071,13 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1801,7 +2092,7 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -1816,9 +2107,13 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1833,7 +2128,7 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -1848,9 +2143,13 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1865,7 +2164,7 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -1880,9 +2179,13 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1897,7 +2200,7 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -1912,9 +2215,13 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1929,29 +2236,29 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -2193,276 +2500,726 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Ne20_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; - - } - rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -2482,75 +3239,75 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; - } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; - } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; - } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/ase-test/temperature_table_rates.H b/networks/he-burn/ase-test/temperature_table_rates.H index 7c2eb575e..7f4465410 100644 --- a/networks/he-burn/ase-test/temperature_table_rates.H +++ b/networks/he-burn/ase-test/temperature_table_rates.H @@ -60,7 +60,7 @@ namespace temp_tabular { template AMREX_GPU_HOST_DEVICE AMREX_INLINE - void rate_O16_p_to_F17_iliadis(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + void rate_O16_p_to_F17_iliadis(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -68,10 +68,10 @@ namespace temp_tabular { tfactors.lnT9, O16_p_to_F17_iliadis_data::log_t9, O16_p_to_F17_iliadis_data::log_rate); - rate = std::exp(_rate); + rate = std::exp(_rate + log_scor); // we found dlog(rate)/dlog(T9) if constexpr (do_T_derivatives) { - drate_dT = rate * tfactors.T9i * _drate_dT * 1.0e-9_rt; + amrex::Real dlog_rate_dT = tfactors.T9i * _drate_dT * 1.0e-9_rt + dlog_scor_dT; drate_dT = rate * dlog_rate_dT; } } @@ -89,13 +89,23 @@ namespace temp_tabular { [[maybe_unused]] amrex::Real rate; [[maybe_unused]] amrex::Real drate_dT; - rate_O16_p_to_F17_iliadis(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_p_to_F17_iliadis) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_p_to_F17_iliadis) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_O16_p_to_F17_iliadis(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_p_to_F17_iliadis) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_p_to_F17_iliadis) = drate_dT; + } } + } diff --git a/networks/he-burn/ase/actual_network.H b/networks/he-burn/ase/actual_network.H index 294c3966d..5b3d904ca 100644 --- a/networks/he-burn/ase/actual_network.H +++ b/networks/he-burn/ase/actual_network.H @@ -297,6 +297,40 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_C12_C12 = 10, + k_He4_N13 = 11, + k_C12_O16 = 12, + k_O16_O16 = 13, + k_He4_He4 = 14, + k_He4_Be8 = 15, + k_p_O16 = 16, + k_He4_S32 = 17, + k_p_Cl35 = 18, + k_He4_Ar36 = 19, + k_p_K39 = 20, + k_He4_Ca40 = 21, + k_p_Sc43 = 22, + k_He4_Ti44 = 23, + k_p_V47 = 24, + k_He4_Cr48 = 25, + k_p_Mn51 = 26, + k_He4_Fe52 = 27, + k_p_Co55 = 28, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/ase/actual_rhs.H b/networks/he-burn/ase/actual_rhs.H index f3ace33af..0efa79591 100644 --- a/networks/he-burn/ase/actual_rhs.H +++ b/networks/he-burn/ase/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,646 +64,345 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - if (disable_p_C12_to_N13_reaclib) { - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; - } - rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; - } - } - - if (disable_He4_N13_to_p_O16_reaclib) { - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; - } - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; - } - } - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived); - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived); - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_O16_O16_derived); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived); - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.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_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + // here Y is consistent with state.xn - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + const tf_t tfactors = evaluate_tfactors(state.T); + // Precompute screening terms - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif + + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + if (disable_p_C12_to_N13_reaclib) { + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; + } + rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; + } } - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + if (disable_He4_N13_to_p_O16_reaclib) { + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; + } + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; + } } -#endif // Fill approximate rates diff --git a/networks/he-burn/ase/ase.png b/networks/he-burn/ase/ase.png index 7e49601d77cb28a0d90961efbee8ea8702ef4e99..c6725af3bd44b5d1b10accd73ee79a3822554630 100644 GIT binary patch literal 145929 zcmb@uWmMH`_bv=bDBUdxC?L|^T_PY-QqqDnNJ@8zgd);Xf^>IxNQo%jNGL5x$2-^F z&vVW==YKxFW4Oh=Sn-Sdp7W}?BGgnBa4;z`k&uvZ9xBSJBO#&9A|WAn+(d^*{^nw( z!Vh5=IUN@b2MZT>lb6qtR7_kPZ5>=}txWH@J%8zJGsY`XO!Hp)^V1E- z$6xJ~uPkDM3#+QSI?DCw|9lQ-f716rk^jeM zW}^|z-uj=%$cZHD$n<|4^*`s(j)dQy_J5rY;ukk0QQiN?dEUXtM*9Ed&D&@;asP8H zHpk6V0T>ssPWG7UWF*TO>3}#GLQY>5k zls7|y0a?s>nk;I>Xz&u!NVy)1RLLjr*Tgf zU+U#c?mvJ2#HOdmync=OmA81x!NdgF$jIpA?2Mk7`DUfX5Ir72Hj>I%Uw^-pr>F3r zgM+v5ERaBzgn zW^rvFXiBjsWM^a`{rK@Cueeyw&aPNKRXRcPxs45$mzS5IpkP~XFGg-|uG#c@zO6EelxHb>5a)RR+F?d|Qz(b3U+M@Q)CBeY}Uk4ch~lhrgeKT)Lg z^vD-`@zTV6J{5C@!>z3qs8^u6XKiEiL|r{_dRp)M_wO0``44ScBO)T!jt8fvC}?PC ze$vdK=pED3lyG2){C1RZ7nuILc{_p`?%hM9_1+6m ztvOUPDc7kxp7$zuURQOjHwgOcP#`_VYieq`H)War%X}G|BtX(%f#wzJ=6Ep!N*1zO z;SWKV4Se5|B@AZb*96t~2qX3m#~zzqU7VtCE@;Z~ZDk>_1K4-jN1_l&nKcuJAY8UB9p~~KP zqNNq0@mV#qyxghFE+j0>Y&1*mC(V!~F){HX+@Kc@4zy21V7nfyk0{8>qSh<$An~d& zh>6`M<1nP&7o&{n?W}k{!0B`5!rd>@^S@7CivI2507q+Ae;gCebV*nk#z()aS0|^Z z6jgKivSwxs;um`|UA?_jRdZjzs)?R&RXV!3@V;o&i1_wRy$P-qIsuMXrFlQ$#eR(6 z-Qy{SjHV{)&#GzC&d!xmGihR8{G_ZplGb8xP_Z8xt1r1r4wFjal^4X9Q zmzFnE;LRH{sy{KrH>$HcZ zv^Q;2YSQzDLf*=cJ1#cXf5Om9MI&$gEA0KH?b?OV$jHbi)9Hhsa&wnw>z(Co7N8*L z*VqQAG4txZ>A$HmR_F4I(0;zjs)}4(Tzs<3tJ4LzJ%Zw#%1q2b3-)4^0BqJa-= z3|Z&+Zk=gR)x*=8y1ukU$Ij6@TqM!kilEd^SFU&(d!^p+*APx1Q2 zsZpR()j2K&j;`qF>znmP-$?ERzZad$U6uuKAo1?yTyx>P$ zL3`qO6BoCqK&vo(LtOEb`hDN4Q%k6!RAS@H-H`+Y1SW@qaUr?6j9Uw>eqE&8H`Di(P_7=d{~=+|l3PpXYS5A=cIQ-(uIp2Sw21S5Cqk z_L}TRwy&-)kDV^hT(f(Vu{AX{7vakBH%#IpL0h~&>6K7ZQ!_r)i3>P9bZNRe+mt7p z8P(c4$Vo7imXQe>HB&){E~6l4tB~+xthDt?*!1yae#ei(r~i4V+^iSdx|vHi(~6Sm z@keTs^4m!Ea}6Pn64;}ZiXx(+>cZWC=VJK7Lv&(dKANT~F4HqJPK#~G*^%2DXVEkw zZrJzk-II^uqk#I@nJE(nhke6eIg* z_w%|_!}ESvH(eghys)#oU7e_&PkeoK+#2B_hy?f2<9xeTVO6RmH6wiR+QQw zu5R{p-$re8So1BxGsL~ko9xM%B}%rwo`*4JZ_+a%sTeEe9z1Lt)>-Kzse0z8a% zIOQm7hU}QcL~?o>TxipR&TE5t^Vv^`L*keoOEbnr=?z9G*7A+Nm>>9J&YddgghDJA zrKgPYU!e2Gti-4_dUA5|NzBancqrl!Wkt8b7JSd`zN6v0u(e-ao$o4$?Z_@4j7ZQ{ z+jh?1Wn^52YL-poo+UZPtC}t@RzO5IcbADN=6BbstW2ib;`e+FGs1J&sPct=ToiEn z-O!49?;iac`y91aEJ~4=mnUgzx}4Xmm9Hu2`kR;l@0{+z1FVpckZhXT=4Kz|of#%V zSlqO6BmsPUe2R*Ss{#XWWNNbX z9*T&}3wa%FB^Fy-!|_6)gX8s3DAry%{557q+FDS62|dh=)K3(80#q~}i+vs*o+p}` zycYYtJg%;;;W06^l_yXL846|O3Dh$~{z07`bwA-UcL`mlv@B=o+=N zvvXBd)nY$WI<=Gc>nz8OuXGoGOZ{#;>BmJG`JT${9<{XajEJAJT8ws-3Sz;FW_ z{RZ?8ZYa{>K^S<;LjnuIvh>JEwzG8vF`|EN&U+uI1RW!=XMKJBO>Aslj~OD8e9hO; zyKU@592foPojjK#n0R}e4!=D@XY+9X`&$cuSo@bRUySWkU07IH&IV65H${k``#H2; zl0tRl)sayBC>n8F#La(*F@|!En2c=GTfV`=sTv(rDTiDF(gQcVjQ8X6Icz8LOjGmVXno8g6* zJ~7woDTC%z6pYUXTLrR`dx_z1_iku{i3S0 z$9pP`2Mc(^8AwEuey#oAbH|CxXTPs@7u$n8*3;YpG#!eM5JYy@`Cgut&3Bs1EyyZ5 zq+qiri2USlZfZjGT+z$Jv6BI#t3alY9w-9|9AP;*_mGSM2A&+GUl+Nm%E_U@k`4V! z!^ps^a(tiqHx(^xAON;6yqf_(xH6jm_1Qrx^Vm0S+Uvl&dF$3F6$cYj7%|mWhylBT zw)TfLzOc^rju0%Tr4F>>74!o!OiavaN|e)b}LADZ3%awNy^G-D>Yu zzWC^&pVI!NrsVFkza09O9Lr3*F}+V$6O!#Xnhy!#14p3^!23RN5CPT%VEu;;8Rz?! zue>U@&l@&Iywn#2k=x)T-^R!P`0Vhhu<(Jmj}I~uK%-9B*ywW!X(H~p`PXqt0Ts3w z2Wg{W%8Z>@98E|rx1vSdce+G&n}Wo=jxs)d`ZUtQYEb7GzH9t4OFjSWA{E#PhJb)T z-|9aw+l!l|JNT{((&&9d-+Jj<$sbS}1!rdUWd?>0p;Q z9&PD<`uurQEcbl(?wvcvvb$ClYTDYlTE-qr9U+QJO5a58k4_xlM1tp*y%?oORGR5( z8#pweXi{ow_{u6O=OlL;p}$D^_=ug(yNnuf4PW)#Lb|xTe4?uxadhN1RI{~ZJL@{} z%+b+NQbi?dSV&4r3K-G&`7<^)wh-w|^6^ir=AX`weKKqmjQ}@*B2rghZ>3TI|M2ke zz|IeMgj4&#VI*F3%tdjZnfdEQW9dHETJ`mC3n0_6w%u4qrWHNM)|ac8^FGJVpdDv7 zG*E`&(f0I2QT2l4@Q>W_MtL_d5mEV?_E3Owy?y`w)6~_tz5_B+js4tfxO2-ZF%sj} zGA!{~pFW{Bx@}XwMJP3)K&UIew?0L06hEV6LeeQWm1~`v0O%9~wFX21#GQ$exbjf@ z*e53^2ZYPGT&L4RATBaG8dp#x_K6CzzV$4z!->-8R>i;9UMsv(tt z{RG>_Dy&&kyd2C))B*dCa+lA&O{_~|!U|^ujG(QhdP-NtzbczFBm23d>?Ck8Fo*Z#epfVtr z(p_e17b4VzjEp;M?P7QCAZ>4N%doJ|O;2OyYhngSauywPCuJ}zId5;v;v#VM_B3C!-QNTs;mIpy z67+N3Lz?u|RO*YpPCUd?fUH=3K9n+KxR zR!h|h>EMP z7lLx&Qt}j-9IP@=rWC~OV)WS!ext$!kKy3p+%S|ur)OfqxVpO16Tg6M>Dg-x@{7kt zW*EpguQ6ymko>L=(#xTPMOEK9RoRqfCAHDsI^+`%Z8|zXJ6jIGplNd+5et*JSi;k3 z@fH%Kj<#q8pk!lHNHBjtQvi0QQL`tXq2Hw|EJmxMM(Ka)?R!wPe%y3LfDLG~dpnK0 z)<*}Y-o^CFSY+&5VY_*RyI64rw;v- zMu9Dzi4VolM-MgAX1RzXW+6YcW!aw^SK$#W_RX7;(4OFQdME?hjiGEB4LGO4Kc=Q$ zsU`jJ8J(UMzN_!wuWS@TbxuipSP%fr513+RW!C2u*kbgs+d#Pj-GJtaUoL&KL}YL< zsy8(DlZ%6q{nPdI8%QlD%UFHp72>`5DWJ3khlJ1ps$^tj^fVI^5ivVI+J-s;ga$jB zS}5@1!kew}4mW=qh&bY#zK49ObJEKI&flh_6uP77ySed$9JaW&mRsE{GS-ltojoG{ zwt+Z}m!Chd+w`v&4h1$E8X6Ssy+40Y8W@#eb-qnYD?auBfF`S;z(7Zb3{3e3H1J%N zls0qj{z;e7%k$9*zWLY*UtsaGKF4$Tk==scC!7evWHpxiYooy2_RUCL&3g)#m-Pml zYi|c9{}opEH+=J6y1Vx_AJ0bugF~D%lK;=2=G3Ad_@zyMFg-+RUL?!=_%!#h$k4)B zc5aroMlUWJH_tD^F8t={vpLQNjLdkh!8MsaJ!s$K_9GB~)r&(lO9Evx{bfsnH8X?Z zZ}_)nW}vL^`q7TxgF6}p8QL0ZPl&%0`_%P)11oei2jNr>f^Kx)vbe|axhdMQKvcwe0VMy7iH=rpTTW!;UTq1!L) z-eojvh1T%jpVoUG`*2k)pE*y^nyruw%sZQaz!H3us|Pft81( z)9Nb*O}O2(JodwfP@q_82lWQ*q-=V@hlhvaXs>)?BVuXL4|ER&ROdk7!UZZJpj~Q+ zgY?4QULM*iArTSZLN;*J?D~2N3|#83#Hmfr>hGXLH2eGw`vQy1>CexH&F4x=N?%7u zGoL>|ik%kk0kcfM3@ z5~yIn+z`Aexg(~Ti;oXcNuY1u0#F-8>*0|8rTru#hB!HQlrb*5Tm{9c5p|jWKIP0k zeD`Mi4}HQRFYB{3n0E<>b1?6HdU;Q?bI|QJ=Eb<1&U|@ss}qVpRK|=EA7w_ONK!WF zP=WG-F;P+7&)nxi^75DwGGd!}RL|r_k7jmF1qI1-oV@)QOh^)lbN%s6o>-kQj_zd^^h2M^qD@;^A zKDd`rBM81{+^Cd82zCPEh5$^BgNXr`=f^Uvq@Df!w-Pvvb_5tHQdC3#2+h9osjtlNbbuXgZ_f_x#c^j=2u=Z- zJ#+jQWV_40Nf+rS#GrPbHHBjHI*q0vpdeI}MMpuzL4Z)6-dj^!Yg5en%ka{|-d?pQ zH*#m;Lrc%+R;Nz(Z3AWgf!n<^CeH`h|zmC${y_Y7|t|a8|BcP4sj$51;+LU z_zwic!k^yl3-?kx6vJaT{@~f+Ys<<+W9~%ba&lvyBx5f4Ly=)6Im<5PQ;0fc7177? znAVB5@fIFlSbRLm^2!R|qsvE+9zA*bG%V*)0zuwLH?d$34#`2XAVty9NopH3Kw^)<;ZH&1Z`@rjJ3rp-op1KS z`J+1<0gMG2ItJ{FZ{GsX&dz*8^6jzt_=#@Ikp7KVybI!uo;F!$z|cp{n1Ie69kc|i zIYQ&Wi`12i=?f%54O&6}8%6gM&AQBN+BOti|whqs6^(dZc%Ol)jsO2b-| z8OJ>5#HNN#%N3uTv&)|eVINJ8tRH|V>!MBmjTZ-CrFbh7PtcpF{Ups+Wl@?K)~LIP zVqro(nj5?H(v_}cBK}TcK03+mp%+j3q_Q2#RoOV36x~;PaKNoF1|6$!aPYhBx}#ut zcz7Go!GLUq80(s2c49OnSh2!(ESfBu5i@G{?WN?*uvog;@`!8QBG%P;Yg{w5gb(j+ zvV8Zp$Xf)*y>Nn6G`QCw7Mc3FN4&RXJ*FVn;|M{8y7 z6~U2(d|S8KOswos0%8jfYI*d+W$Cl4RmKj>FfsJ?=Id!pt-mEW96ADNiI0zWba%&y z>!;QZrHt$U?z!>t3;9di9a)e%L4KI5cVt)NlsKHzKo?4`@;% zpl7I1)!IJMTIr13442gCUfT)%<{4IcOf=w_O5XW;rgG2B%$qU(zov;T^kNDXzBa}-&yFnp$OHzV}F({;Wg^rt>5MdR8xLJLq z3x>t6-?az`UqzL>s;Oynu`Ud>wUq^GdYUo6F}Wx=XTHv}gcy|A2y_~Aw=I>mtvegr z)A{Gu-_)ij3b!3H-Ze(XuzVocsNeZx4xKTVNa6kA{yxPf`-}GVgQewV?(sQtGK5K4 z)eO?2DY$`&5`Ha)v_1|F4zRh7UbRF;;q>3!?wFsa0d62~V+1xEl+<>p&0(M@kU>q{ ztgQ(M3JMxM;~oVyYqys3zj2F>AG+9W@xpiAxpU=hasxW={@L_S^1HDkd5s)4bn!mcNuAH&uzq;^S zX@i=NCdS94_4&fPCscfYlX#)lKja(Mo6MmMozVibM; zh`w${uf1~|lg3TEj89uB`?bE8vJJ@gbavjL#_csG#b)U4?G0mn zy3_GBP{zrL3jx$YFaj5hK}3WKHW)CSL~$SCqN1WRlKegyH@s{*^y-?LWyD>NzAaMb zx~UERR_kM_H{lv$kS=(mxUspG8Ac;*VnPRdd31gr7c?Y<69}{k{4L3+`-f2USLVHT z<-kEV=cd@&-lmIJdJ7sT5&%1DCnH8ITwGjvqS?xd3VbO06g(D-&|!o0x@COFgiSz0 zg1|wa7$ws8A3tys4>{HRAXI_#Eg>R0KmR^pT8yfa-!bim=PS$0WmaR1MMkYONl8g% zRaISCa*=B4>RAM{aJ%}IYM&SzVC_77_)w?9JYvnYR^t5fcwxao3i;oZODJSRW^I`} z^DC(D@@ZyNJ;P4&JdtBLW#!*Ov)JRSl`8AI<-9eEPyZ4nA;;%YMQa&}7Y=J(_Je`T z_@{=W(?@G54$BAy6NH4Ani_s;ac^<}vf!Zp5|uO#6+$+2B-L%}o|a}P6NzNK!%ae7 z6uzXGZ)Gpz`H=4=%WqzKFT2VsDlhRc99j&U6QQY&kx_JCRsKEKs(_pb<2FH9=IE~y z^&4F7Lxkb&$C3pi&}9!ie&>H)+}fJ8q_U9KA2cFI$D8hmgL+FJ81a<@${EgLq!nx6|DVm&7 zRa4W^(SZWDn}MBG7O~+wG&7{eqlt2+>I^i(x7PG{zX*rM*AJU=8uyd5&3(t@kyQZp92ipYnuDO)fJF;Lpu;%qcRjQlQ1pkA5H;UuP{tN;t7trW&z!AZ{D2iq5S z!%Kp)uCdV!*pS&=lv5Dkug~ee!tC0bP@YV>Uy~pnl>u$F1sFj24*FNE&z5js5s!Al z_H+8#_ZA*SG6oGA*geo9WzRkrqJP3;8pPm{WtR|t9&nDG)d{FL$~AdjiZw+oh&j0A zU==o1Q=+rBfn_=NmgJEONVAa207MEFnIeQtbecW?CLSR-S4@bY9SyU(t=>i(fOdF6 zZO1kAg9drHX3x1IASMWB5H*yInHB<0PoF+zqwOni`|<@7Y$Avmy%B&?2G#0H&n$^o z8%#8U@=IK}i9I2UH2CeiMKc{ zNK!r}YE&wHlP}C{Y(&_1Mkj6gb04RR=lYO4KujxoQo9Eq?Ej9jF=yp-POUrt$<1k? zhUkT?J=e^q>HcVV5dL#Cbf6u5>Cba0FBHt!T%{ zK(qmAp$DjYZxt=HTB@;=6#^R@8@R36puH-eOLg6U2H@7%-aZ=49QP&dbUUsP~&=$Gi z1mEwi3$%asNaWk20;j?%N~?QXYDrW6bK}O}6MZ11=Lp#ZDzRwwoSxze>#p^9I`L9$ z-BlmUQVjQ7TbVS`j^#Dvf2k}&lq2dM)%PjI1`Xj$%RQ3k^A!LHH(6yhme@tJYrD{L z8}zSO#U2Y=Z*T7^Yfb`B9k3jZwr2z^v~|IL>uP<5_b-2@9E&Ira$ale>M{ps`Y99} zFdOj6$OJ5W5HHbvm4N|TEh;*CwAEa!TqJ3f?$-Vrh~aL`Cc?l5m{#k8|9+pGNXk=swPhvy}V70(b z=4-jW^2+;>?RVV-Nhlp1oj0Dd5fHiTg~$t-=$Tv*t)73a9qW6Ha2{<0&*J=(Yvl~c zkFPTEGr=@1`~yT9srycd6=~2dg-nV-IaQtCKO^JWukb6Pyl!ZZ&4%hfqxtzOCr$h( zX1tqU5;nT`Z9DwsrEp_+j6p}|HrNsSt=B%L-&^J$N=hO@B7i2S`svvBP^xDrUedl4 zlrvSds&cs~vL_8DAJeHUUNye4Iy#FQsIN=!Q{jv>_tfwlT-*vV|(k?NG0N48t7nhUf3b-Y4#7mU^pvM5I%Yay#<_cK6 zsbD(a2x@P8P4Ym^&=5CCnLnHdo6H?VZ}WErv^uP$P+Nm&eNT`PNf85@n6UT6pj_p5VI)}xk5TRI>h6nVs8_`ax8G_?C4nB z*%2?``YinO%RkAk4piw(?WKtT_caMC^Wc<`~7zTt8FsJshh_y+eIY=2LCz-l?LG?4vzZd?Q(df^{%(g z4UqD5%$C3Cc0nC>M2_nZmM)eLt;4+T6AoME=enwM<8M0fRWLc)V68nqKJFcREFs2H z&Pb`ALwG-4tL}+*G=r|t;v~=F&rhy5>UtM5K%y#Luf#V7+Kz{&{BhXLWrkk6WY+5fzS`~=*rLjxNO3hZc`I*LBWrq ziuWL*@bmKZ%xlL?=8r$(n@h%r4UhNTzke~rKq8T&du9+4Jgt8BdpuozCW^Z2=S!R$yjMSI zBkxEF`Cd)Z#mV`?wd#lacmWL!!do-7cuF}h@fGmW_x2p2h7ci}-y|j>Sprxn ze>`neV@qK%l>GcVd0Z3(VIjsapU2hE?S_c<^&}~O<&B!0)B(ShiVqjc326RU7#J9c z-++yK0pTfT78Y)6YN*9qljT9P**M5a%AueY+`_@>Db`y3*S!jaoGu@(6xq9_e|L!B zr@U$cqt%`jQ&;id&u<3__XZEi#m0+`*P)xnDTF`4O10*$J5X|BD8+t`GbG#_u8elm zZFgJ79*@pp&*xoXe4XK?(CofYqVnQZ*aH)b+@8})eso`fG>=!WmSQ+0VoF(Fa;CpC z4oNX;?S1gW`Yws~qO?36y9LQ_^F6QW2w^lgxH*5^LhJn<-urIK&}q=GX$rHa4aiE_ zN7)}W)Y>1NrST5rO!` zM)>^M%He=O`^>rT-n)m41gVCIoWVP92UgXXi2*pv@8_-^oFam05cJAaW5x$ChM9|t zf*ynn${9rO`BUuP_p^XC6y9yx)zyUviR|s|-64ty@^3emq<;&4liLxFLMkgNDhd%) zf#%y^kS6s_jNg`j=0#xvAbdm`7*swmvOB(fsf&1oYNr_b??l5&@JR#VR53#qtJt zPVUqn@PwfM+UK|Je=+~WZ_vFUirXHX!zRCKk+K-pyz|1Ab5Mp8tQJ5U5QfA>r9I*J z^m{mE-iqF;!2nx($e^^r5W9Rzk!32X0d5w`Z26r&tOM`4MPokC zN2B*&OHU7(rV1qozWJ^mPUYF<_rONu1bxGz6tAnl!dBGhSu00jx-O0(wlEH9_PT?A zZonWaQL2zJo>iEMJqH>JGL6?3mn^IPoA99P8$YUB%-+V4eZ+d^Z=8~UsYdox{WV0R z#?RQ<{|t5z5pe1CJ|V_;A0}LnnUu=m9h?MN?&8;DKa`0DuED#rtfI5SS0Vdl))kpLT6cm*3y?H#yfp@_XAiQR95FlQc(fn*; z*-5ZWhgDWiPU(SQUHir8J;Ouzr6S3Ah1o)AZWc)lcQf@vR7h@rLj{q+OM z_d!fFN0DvVHcZ)nqjIf?Cn6eAkJRsyYD>~j3?CkpRd$FC`tSlUFVu{@;dd+>f9CN(vX{Fob$WiWmln>^o@-4n#G8r+iVU;M8LF-L6e7*tZ#`Z4IYd< zgui)%nljV_P>O(-w)8&l)McBP!@MY~QH%E%U&}M;Vr{eC`R0v{jW)zv1Y|gC^&zP5 z-`_t7ZiT}HOrnT8J0dS>%(({|4FdX8+kV8{&#?A~24Mj(6GQcif5GI0; z$WYJ6hZp|*`ICTz&dtT8>)pLah?y4%xc+1JwpxNdHUq(q3X(<5jIuI(gvkxh;gz#^ z&P@Rcg}^s&-Vi+3^78aF{q-#ea#R62tmDbpzi6m{Gj0KFHP_mt*<5Wj^rMFZ}L68lSawQe{%S&ML%f*2;Z7IswU7<|g zs{WNiBerF9?xM9V|LZ^2bP29UaYH8Uoin)3WM^h`VwJ{rHi=G7#K~sWHg}@qk90n8 zO0ID24tRFE`9~nl;2GcF>x|@R3Gb!x!iE%Y4@`+5NKsxQ{o9)m6X}6UXl!Zuc}jd@ zUTb%MqTrEZaRX{5zv{_C2aY3uHF=LnTA~_n)U{z_Cc(@r)_YgH*Y6F>)A~6>Vumai zokjP1s2nmN{|rI;t|T7IuMqpl^H5b)MY!%T_>vjlS1~EBsNncna>ZK(eR#s$IG|X< z5NisP2lrK;OhTT%wsvR~m4J1Zo6B?Y-RWwq>gsBkLy&WGJIdHrhG{974GRUst5`a4 zczBr73G*3IK7d>X3O2S^@i5_EGh{|NJ7HH zZ^CR4Js%$lILblRF+&yzFBP;3J;QA<0l>CRc5CPj%VGu?L0`8?Cm}%#Lo-nD11zWj zD*^#4b6k>!tl1qlHXPIPtMhG-W!ob*A{9-LzRn_T-c*Jr61FKn? znaJw-?{DtNhnoL8xXFo`$~MxSP%q$EnC~h1Hm%>dZDJOkYSz;D^N4cxtMW%AN}q_e zmgNm8>}T2K46EHnY1mUj962lzwI5o*iO5u7KX0^T+=6ygnp4^oS9@;!Nnx*0b8ix6 zZQJ;7hGyv};HM*o29r`E#wZk|?pyhzklXs(wM%y$*4J4cxgoCiE!w&F;{q`EwV-xq zS0r*&_eHdg{zr0>%-31W2CeTS5178i`V^uR4-q0E1tCvP>)&ySW*VR8!9pIxzK+fR z^xcDRmHLS6leJw;%}9^W$9>Ncr&@1P`ww0&HDkPx!lQ)oH9D>b$WEtEB_CM%qmxsk z*U>X-2N!pLDXVsT`SSM|hx^o94&eC5GE3@~4&IHn1F;L6va$u5%cmNaPHS%BNQ-Z$ zc$SQhNOGs1{qSn49r}!aYhuIpY2gpVI0Iw>5o44ZA0s=~2>nNe_zQD66m*Q4Ve}C~ z{)NZ8hI0Akix-7zYCe`i;LO7Sy+M@0wSWzY9a)D8C9UQvYV;2#6uVcXDy63AlU`OeV~R@INH8f zx(AF<4Mrgm6O7~I*4$Y>K0YRvmOxD~00A7|w{Wri=++6{Vxsjbe)7Y{5&%U`KE9B+ zxG{e-hJ=A9`udT-e_O){P&Vv+Sae`mfw=nZO(bY7<3BYW2nh)t*9IwuY{dVGA&)NZ z+Hl7vCu2ea55!1ZL4Lvr+0A2wPHtysS5{FGn36(;7>$H;(AU>*K7N7Z`1|{P;7vA+ zO>l1eT||$`SDRJLnO{qrn$kn?yP6U2uhbYXj8^iRjZIF5L)fsYwiXe;08KEt96FlM zeD)w{Np4`k#Dd%Fa;DfWX z84y=m1Xy|2op6<1~5RY|>U@Qm5s|I!+GwkC6Ps=Mq4n$WM@x@iOh48>jeK@=GV&^Hg364BMifym(&c~t*d&|T zR;K;>peFl)*;i0|pwWTuD{t`#cfRjext5-g9pA-Z)A=@DO22eQ2+y~avtiaW7PB#0 zNZmlP%0DTI0&XpaXp2b782GNp$jB!P*H>W>kp>+jrh7c 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

bQ&c(ROT@Sfj{72&pPD?=2 z{w^cqI>ZYFWo1WEYDyZY&2}KW72-cIZ%@jVKrJQDX~7_RcCxcBkTD&i?}ooSlov~8 z3;GzEV7nSr<+kHmeSCZxXC1}DNr(%6{CH4XU!Pu9rhQ7*|7FFRb}le=XX=!8PdQm! zsVRRfub{BFUh=RtF8J-`$3!+KPKxIH_z;0>gP65ESVJCCGMrn@syutxp2*qR*#*>g z!0m>&l>#?5To6}LmLoV|`XxrBx5ObGsqtQwlXLa#K=uWwK6vo9W5LVod0^nmW`;M@ zB^OQ(4xiSGQYk{7J8tg4p4kH-VX1u1{RUJ&dW&pMRettUwrYPX4-2aK!NI{O`^lSK z-Q8*L-`_+gp|OEP-+n^S>iKZLzDy6e^y`si)(Ig50w0%No@-*_3t9GmBAPY2bHs`FG?BDuz4Wkw@YyI3_vIabxwG!5Ao zf?K+hg5KVC$<4`et1C4Bo=D4YBpiAekMi0nxxm}7bPg;3X|UdKRzyStDHSCvy&gwW z08r;Iz0ljb0%4{IdL`-8Cz+PGOIjdpi58{1mkv83IK{;JHXWcq$!@Z-H01&n;(X&a zHk}fC`MuA?ilsm}Hv{K~JnMMTp|4on9u9Z>zKr0{OMlv**s)|M&*CCZ+Wo)DNA4s#yq!Qakv3@9l~7ib$lgo2gr_ z33$swR07^gY5p7YJ0TAbHT>@8D1N1hyu3U@R1K(yq~a40O%_&eTSx^VAm>}a9;o@M zi~=wN)n!;jyCoy@1fu;Nh_L(<)lW&I1uddomL}gkc|v#zR;CLo&bNGt73<2>5(=Q@ zuM-Oo3&RxKO&~e-!-o%ak{)I3Q>~smxzL2euNEP04i4F)XOue^M(a<@^BXnaG&ID( zs+|ZR8~B;i>V&j>jE2S-s-1rR{++;nv| z#bAXFL{HGlX&d_ZI4mS2390A|h=42g7FxwaZT=0&eF4Cd1IqgXLtsKI$be9eFl_W?%nDKF=zHTD8V?s@#lsy=^X7#HC zV8w-swM1O`s;+!HSoLjP-7Hu+GXtvn66;}a01o*M(|4f)svMkW*mV3f2ggQdG@qg0 z*|TR+mi@xeLZhOCQ3 zy^3~`gYX320b@y1H?y;r_1jH@ReDBztfXzIM6^sGwS7l`tf_Zeyj5SH& zHjS-{_9nl^hs2qJ*gucit_SEbm$t?1hQ-Ea`uQD>{{U5aGDgwcuwD_y4j9NCl<*3d z003+>zX%BE0^{9UT%K&Ju`-7!iA-7m^Sp%+gXHMse=iNBx~}5V($W^cm;j!DRkJ0` zGCdug8(lx_W9#@Fa%Oux;3V%Ac;=mU7f2mluTIJ3fxr`D6VQZ5zy>r7JDFM@nm4>; zJxoEN22dNmZ|2v;hHIH(J4lXXdu(rTA&E2>dIfLx;O}Y7tW*%wrKOPgEg8}iJhwq! zEey6+z;c#OnUhM8#Kt>zE>Tg;|bJLr=b zLor_zjf+9pg*#k8*6)RZfk7THjh<#_e^*hVs~CQ6A&UQA6&|vcbo|M@*PCHY1?k9=?L!yu09kzarQLW&l7hx&nO2mTM| z`Ma`FfR8UNHk?9mHKeB{P+nO_RgjXBB3MQ#Mpy-QMFt@`8{m1(s?M$+jPP=C(l+z% z+B0fu>aB5Pn<2=fZoqN~y2gc-mDOc7zsG)l=rW9}DR{4Dp=E4q45&dM$WYqnNE?jl zPj{aX;z$Gj=I58%MVH?zv<|__ufj!>2dp8-tTK-})k{o6qH{G{SN9@px z{7q`AJlsMT$hMTDs})tRUVRGjbQzY}6!qMUO#vf;KX<09T|l581QfsL&ll36E^KA` z(fgnaEHy(2+H$prGXCHs=r(=bmWX0a`X zeF`*=SHFDz{8>dwDFEhJo!NSlVPRn=FsnoWHef&Kdn6s!7?oD6Np-=fUpsRnZpm41 z`Q8+GGh|n94{fCR%-^0gDP?MACSW&yo$->(ZP-}=cuP%R{|)R%fNYGsuPJG7l;9UsaaLx^mC^e*t|0pDO?W literal 145211 zcmb5WbzIeL_ccg^ba$(WlyrBCAgMIcos!axG^j{Phopd{Af1YoAl;!75=xh|&wW47 zZ{C^roj=Bpea`vTb?v>^UTf_Wt?^I^51Ser2?+`BzOuX)5)%465)yJ376$y!Q8CUN z_(Rk~LC-_m#oEK$?5P!!nwf{Iql<^5ojIeI)l+vn7iT^$9&RpS4n|uK4_9~5d-t6F z=N()wPi^jX8hQ@HQEs>@>$@W%5tt!PzGucmOt%YW8JzU@yb93yc^A5vl;7K!y+iZ0~=2#CMKlWQbLRE($dm8 zIy;dC1qCe@>hG&7DPdC6&@iPAA|v@rGQ4~Dj$1&0Zu^~@J!PZ}ympKD#w(TE(~g3w zs;Z_I7O3R0>+12h*;248D=U)*H*)Q$Y4I_?fB#-xUCp>8U=gRvBIoBPMv9G&6g;@m zH9Jeq!oq?$4_-GnVYK|uot<#4Qnc7!l*In9%1X{@$74Nj7cIE<+1Xjfm!ERAN;_6u zJAV8zv$9gywXukk&674Xq=CaxMruk;?VnxN>{6Tk&qFnv@8-tE#>RHt_)Iqc!5y== zx0f)s*PuT=GxH`RBa-&phrOZbINY9F6Fi%Hma=&o%d_U! z_weYMDAgt+CJsG4^_iZVOS~U+hve6#F{+= zqx|vj-}AnD^(wcmjXpj;UUbg}9-FI|S7c@;jjWv9r|?x)cmf(48o^~{Y!g#c1w};) zKis^$yb$k6O{EA83yVgQ!mg{YXS#P!JwR%EXJ%-T&qljgwe!_o?Sb(8WHU;P zZ{NN(x&Oe2-7q#fnwy=w67FCLfBO)SL@7+_9lS4&A zL8gox6CH*H8y+6s-`|(EwPpSCrVj*E*+BCJ4oWF#@sScmd0VoNJ4CO$sIlF3O1eSUTKd0bq0P7cF|9ICY9 zVirqFOGbEJt)fa#nvA&MK@*XYDagyC!p>27@E|!mJK^isuW(c=tB8RC9Q?`p(WyjLkXA$YMKM318AB|37$^ zyfe?|GKE~|z4jLI3=Iv#4qbR}l42j6{m5B^jeXNOc5uVIKY^}kukB(0wGr9Y(NSJj z7KNIcT5{E}3)cW^l9#AIN+bEiM|mw~?i3fyZyL@Vy> zt|jyB+vp4dheR2fnRv6#($YvKe!m1xPfsc97Cxbh-~hi=4~oIV>qNBmT>b4C-6AZXG(%@EJKeIn~&IWApLx z`R8ce+yh^}$eWw5Ch4l62xX&jB+mG~O&%Y;V^a5qEBz zVOriZNmYm!Vq#(qU0s_|uc4u#8uMQ4(~Aq5I^)o5!p^LJDp6OH3@hnsV$kJH$WU?Q z7UzeXr-M(fWnXg>B+oUvtPKe*@hea21ntb$C$atd zs47h|pn1$(RUUG10=P(sTs57xxBor4!rVxFKhW+=kep!(L6c1hHh%?SaQy;3jNx+Ny)sRfyRF;a=4p} zjm;gz0u{vkLP|A+W=HDZplek|Z7#6QA;t zqf%r0QKm~{zmGP1Qm`5*^tJiKtH|S z0~Q*%7zim=c6OQ+A5KnAVb^6OBH2S}=48{q*H;CCGRdi_QH6ztn$ZG_r6naD(Ij^i zITzt~4HFYd`-48d)O$|^n^KH|JiNTj;S*5R3W#0A3v}4rmOGHc3_l$yDJY;n%oe}T zLUfc{T51PZ^y0;fq|8h)wi>L~|NAaRLQpYrcf~{~A@B>%U8U$@2kf=~Z5!j8+xtFv zuN@x4MoAy73%{V?>RO@{{kJsYXtcf76M7;q%)H!O(}`Le8ft3Sqpfe6@gnphLD%B5 zb8|`p--j}VK3zEyTJloCMTnHWT*mEYWMb-M>}|ip`{>c5CbzY|lD?gvKReF;{D8On ztV7`~sj6c5me%O9#8NJYAycHavi|9%;)r8=ru&cK`16xF%m2xnyLN1BY>+mk;_mNM zwVi)nR)}LEhV(~MU(wJ8naqE`6H}v9r-0s1yn`E8^89B3&nF~~yLUTBr2dL;x%K0~ zo)-4rolom&d-jI~GEM)jW1rlT65B7~`2Y&yn@@SOl~q+~kD`q|4AYF7T+Jrd5-0#= zJj@amV5z~u#@5i&6K1LDNA>jdERZDn+6}kCL>%1*hhc==golS$K(EV{ib$K5=v}O` zXx{(AuoM2j*C*|H8mxV{8g$rt@8tONvefK(Lbhl-`<}@YyQD3gn5$-P&I~oDkK=l= z)lbvdSi<^X&x*_BBUY)7C`*lBh2ubXgCKSUip@wiUG1rplaunphxE0lC%jPD2R?tM zu00hI5wS#7Vrq(iF1=Av+DpjS(GQW($z|gS&(Bz4xW(X7=o>-}w zpem6wTT@dL8A>nY#l`!|${ILPuV24D?Pj>n6;K2mbK3s*Lh48ainpzcOaHjKlv9!< zBAoSFyg2nZUdVk-m5ai+b1GmhTiV`;pfKrxD_&V%4la6-njqW;p*B{abg)x9lF(Ec z9j?JT!FK-9q95N?n6_GvgI`FfoG&ZKck3=J{SjLN#5_$;lrAG-?#GX`ZEbBgogJ7p zH8gVhZq~LR+#n$6kE7!2u&xF06O35wX_dQx4&2<_mJfVx+S}wOXJnKeoWzi^6A}@H zKuV&ZG>yZ(Z(u+TPYQSTyN^WbrC5j}!69k=x$>1nJ%fl=o zLC0q^%&(WZmIbL8aDYZ1isE~@lsGyit4-oASQ!$((+SXctSw(?CdO!&j!EkVpnXy zl9$7{nRIMy4C?dw^K-`3!Q`BrM1T*8C0U3?mDkivK8G#jQh8%CL*Sl`bhDJ|nt?@E4GH|~p9v*riu-HL00TmUM-bbIB;k~4fAH@+Erp0?t(4GO> z6KiXh?;|-b6T)jZAosp`L;K~8NbS;|w?)9-Nl{G=QGI>AtGBn1JuM2+{EdIwwD|(8 z2-#b=Z_99{mIriEMRsP1c`vW8qj^a61a-yW8Lkew1$JzlS zDYmAGNdjQV{Q7#b^2e2-v9UO9SI34&BJ$!Bh0xb6b%i$f^+V?eInBPNrlJD(&ySHQ z!uhq;Rc?n#4*$b3CF)tAz?-QC@&5EsxzP*zv&>^S!H_J#~u6C6BJRmI3Cq{a>l*xQx^O#Z=I5&8Y~>woc= z#Qld46DGs>QU`nATMfGY`L1@@>6)3by zNfDJNJLvkE|K&kHM1GgwUMnU8Lyp;r6)zJZ);T9LocYA;WOt#uwpLC>CC2xnSS@qE zW$6kZu?lvXb*7ytj*B0upqqNDp3`@){W8>H>Rl&1-R-HWy~caMa^&ZCNmn^uY6C=A zzHaG%TUvU9o}L~WZzKgxEL_|Phu`L%q3F*O68ZoId&KtrvlJN-?PKAi=Ta zot!HBuDGS77!duao7>p4hsw%W_V)I5J;(F|(}!C6`lZ>0)H`B@QaWs85Ch^85&{i| z`ud#<3&t*EO|`Y-rtDNKC;?J$uj1ot+DW(6? z=#Ip*Sm6A(peh#b@jmsi*=PeC2|#^<73=JLyDF^Le5IzJzPs6Tdmk{X{hK?<%7C2U zKD?Ier%Y%xgOtCUQ8aTr;O>A$d~y4M>()eR;9Oi{Vw6gete2M{q>V&%sVkjd79xZI zc;GqoJZWs9OqFJ&+)wL#mwIhVsn{KK2_Wxu^KDMG^$_*tN&DY#&xRMK_AQI0+^~^g z_YlP7SG%sr$}1|aLK&ED@xB)>%LF|pw60-kX_WD}ThNl39`DRR{qFl#uKR7Syu3X5 z<;#NXk6Ve6kr-JsZ(k;d^kH1ZscUHw3p&lBWfVhf@cb-X`uOY*x8JcNG#u8WD7i;R zM`^rPpQ}v<<$=EesD^?xzp!BD;4tUHq-bn0(fuWz4~`qw(<6V>@b#-!<^7dT=n%tI zikN4b7fuL_aRnbD5mHl^39RVo=%A&mMnXGKxm}~QE&(7Z>4J}H^VwgF3w$c96qShI zzn_MOhv$}+skBN63sXY>t9&0HuHfonp{gJT4UI(*B-h$n5(rN~02qNO;cbX@93Fls zFE76gl^@8Xf2je=+q>l3h=w-O4AIm$&^;LEAI_GDz5U?zPe+Hn#a3w4A`e#f?TQ#k|TGa9UhL@# zs;8SXAvyK*^{qlNh3!boPfkS8V(aYum?HmZe?J&H3*gQmWiu36gI-GBzWa*wS@ zD|&U+91R`auAYjR7$u_^)5uDB*QWLGBSlz16s{ulcqpi-0`Dv2WMz|ba;iLc${v;P z58O=b7#}Br;=yg=yLlT~cvdf;TdDvS19>!FZf$*R%BZ+S_ry$*rPA_8)50>{Urch0fm#2)eL>f}4v0C&ouw z`t0oN@m80Az7K8dVm-WnUq(}NEI9BNoNr)oup7G9dmoP`4V#{BV4DPjr2u3hsI&lX%BG5{bf0)i>RpBJmUy9t=|K1hy&G>D{~ zd{YU?he9hd{%P#|PqINdW7mD95GqLAPP6<7_$872H5GbE=)CPKALHD(A@l6nS@7cr z@E8~ur%6I!!^pJD9p*JPQ9245N^DxXxDedAb0b#DOnL9$Yqie)0$NVk@0bJ8%>(wS_&#pd}QOpIpc5fZ!pqAtNfR3;Bjfo87JQWaY6S&qamSMn>*`~e zc9J}vb7pU?ayg=vSMXS;bE+3@m?!ZMvAb-;3% znVBIAX2yT{qM9|+C{9m+sLaqdwTE76T=1ul{s^G7jq^n;f}r#K^AvVnlm&&H*w|P^ z*U}b=ptKqq1TTLN-rKriVNCL(IehigfU8si>`P(y?{UKcR#sL(vO`*Z?wdaeU=Q-9 zLEB}s23ra@4-eJjb{1mjEMcQv1x8gE)T?mjOa1x6hv;NJy}VODtI3wa%El(^>dFn= z=r_r8;8aD|exLaxIFzmXcL8N%GWZiVG&Cp%w5~;DI~2F?orLt^%3Urd#>UDyIdLX1 zNa1@tF@$rlKduN43k&m&i!>) z^!1%%aZC)h=j*ct@r#{W-^PHWtw*m?Qp}+5KON7xF05bb>OyJp`X%e=$U#d>JMrM2 zA3ax`ewsG3Zmz;D#aNB6M?uMyL(Dt|^2Bvmy$f@t(DMSuVW_+3FZo1{brWb21T#>QRFX*W*K&FH5yQ{n*H^&BdD8z~@Lr;- zmns}}rD*OeiVEpd$_ed;rwNq|3m;$c;X`}?U58sFRGC~D)S1~gIz#$OFhit+UE0nt zBqb&HkB%Y$+FB34i3WCkXReU|$R}5K_ipI3G2(9U3fg1%<@h%FtsVnxqOTqTxQB*` zxdzQR2suDYgQDX*QA+e$Yqb zbGDKCEy&x$!}gIL%Rgy|+e-(_FiFoa?#pZHS6=)DCd~3tM%d`%7ai*gJQ#oT-UF9+ zd5{fQ*TW2?5JAfRU)tixY5|G+pV6koIoKZ)1JLKP!5BA^$^h(jxQL zbz`-zPU=8Z&e(ueZRZcS4xyEPp+p?Mmy1E(S3{5fUhK9H`52}B7G8coV_L)N z+N@wA7>oWvHo94m$v#6&WBhA^Snus7O z$Q(k6>PCqgjJ%tJ^G<+)g@rcl_cLyujZl}qu=Een=TZ;YB{?co&Fp%k>f@;@D$c4K z1fn9y7-)w_asFIE0yzDi8PeJk6$?BQd)3GMz%&)$(@s_k+ohy{P&Me8wxf-l> zJ6w?{se=M~L4ACYw5cti4*?0<6-FTWoYSzu6i}G2{tL=l^|c#vZ3M9A>*`30ii(hs zo;-QtIP)I8rlv+1NIyM}*CvvCmX6KblNSIs5c-R1IxjltZCFsn+}vtRsE*dNC()z2 zd8XyP;lbEu^g&TDv#{XHO}t(xC-OU&?kkE-HsL!D+{?_!2+e1$kJl!6`hixZNXr5x ze10TuB-}qrO;vRu(eEGRzl$u7E%I)HV$DEKSiJO?GW z&9DF98{pEX_7&Hkes~@o-AVDpKLiS7S>p*O`Nq$mCD)CzrLxB5gx@%SmDt(o#*PVa z(v{e4N;|yu8JPJZj!$#^+Pb>-=UF0w7*6f3lkwjMo*&)w;ZwI?WqL$!8Xb>D=o@3* z<|X}h!}aaM;CxZ!&(sDQV-qob_(Kf8Ua274gvsxikL4>!pM>|9SGASZjDSQ2(yFb4 z15I^&o5eV)+IUI1y@Jd`vKZ`b4dcbQ;z+OO;l^H^Pt#FUto~BDISS%@bgr5I)QkOi z(z?1vC@QRg?2S>y%9a@p!9Bkw-`TMK7NI~bF%c1}N~cJ($Vb9@Q`4%79GskZljPmp zC8ebyjg3OAG1QM=XE0sxWv?9g0MVsrXmBre5JBjhUmX9MZg8SG-d&ihx-Ca=GhI1d znetBna13%57B?Z2g6b$e&dY2y)Nf zo>$orwh2&NKoe}qzsi&4oo}Js6e!p`Y13gt@8;eTy(zKpBM$HZq`9!8Xl~(?zVUz6 z{%|)uwebP_%I=M3b4$Ug{K5h%H7%m`!~I%E%j4JFPTY=k6h9{YCb0I<>7{{bl>^zaUqYn_gGqwmzE@pDVgctczh!Rg zv-RFJ0P2K5^nj+dy1&v*eX+B%vkxRG5e_-WXd2p>f}08EwU?9Bmc79kGhv=KYlP9e zU-g4)Zl<4qbbZbsz+o4gp3dlA{6ze4__3>7ZA4}&o%lyOQ!A%pzTwt{cPTU$(ID0V zVbj-4bAraj#dSrVNrMke(sZ*YySar$@|!mm^#}=b%W?7gT<#~E{14~>CRW>koVYmI zgGwmoil7l7Y7J(h0^Ga=*I#`2pk{SW}vcx_2vQCSy)_*FC3!K zSBzuPMgVC%jmH85#3WeQ&!0aZZjIPp22vA1&ZbdyRq~d&$;ZbRzw||}6XbZ)0ICr{ zs-Yu49IzJU6qfd`pl1aDXs>sTj){qiR90U8ZEoP|%V``=r|~UfK&_2fIuQE2e0*j$ zHg6yGX8cp+L*0_uQiKiNY3_UWHZ4p(r*^}Xk4d)5&#V@%7Fg+Cn5VvejE`08jy^=t z=Y5t#Q?VogtRoR9V$znDw?M=Wah6$!M!f0o^~KoYB0fOCi@kORVEC(RYLJoE8}Bl* z|2kS0*m$~ZZG-MD=Fl{!-`TxLP46}7+SnNSvL3x+NVRkKC6m-FH!f;OHHo)9I(7Q? z?ITW&!`k`j-acaFclc>rTfujSz4qPSM>K|URt%{LB$T()hXOf~*pvu4keiRM8_<1H zR#s(w5OBgkNFH>AilM%dFhaw2bQR`EOV8}+T_7KRH@Sc4795ns9@-_oyyaY8V{XR0 zy0XHviYY2bOh_m#pX7|o>6-fb^=e-{4MGUt`SlAJCZuS26bA^pkdWc3T^LNE6pP1QLfyV>sAE2pxiZ=95ch z|G{VRLjK43I@7o-SUsL3MJFyCxsKB{Xna4c{~M>C7s&L*QPY zjTBw}hW0 zTc%FkEYBx@_9&jUj3l>SyK&#%y6X|n_CL%29Vv(cQ!g`pOZ?gyq-;FqrhCAIg3fbg z{Sd+Xj)?!kH8M87aOxf#!*jX%asL#v8GrD^pSjb#hLDyv?(p!iW)~ZY@zyQNiWb+A z<((Z|!Az%7=J#N0kX2K|v;LA6@~HfA$lwNCZ9Z_XLN1H6`$pd0-eE@;ANdUSBBU8R zI>Rs#y_nhHYtGZ7sV8|l_V0Rl`1rsm^Q+|0Mtm9ek$I;C6oTvPYXl|kEBhWeKp;(G zee;Woi!r4BUh)AG6$K~qRMW#jgVsByneOS(p}CV2p1b=WWL&B1}?J zPpaI3yn9;JN&z%)@4`ZWe5lyr<>EaqE<`U&NI?;$mMJL1mcq==jsrKM)ws4*b}faRGAAc-WChZo)!!7 zev!Z=uV#5KQf)g2=d=3%y*fdC_*zvET9bE;!Ir8}@enl0yf#UsMKlOrKXQU3IfBgP zNJvNuxF*zozLx?jZ%@w~6={DtjG$|L+`Xd3ZNwGO1`r|^6)ngh&D&%@izE%+i8Q0U z+za~4S5o=K^#(pZOZ&(;`e{?zlf=#tx2`A2|I)w0b{RCLFC z_?V2bzLa>Qi~RW`ISP#-5%H!Bedf{G8+>#UH3Q!mvdJSqjRFt7Ai>m>xPc08l@b>c z=JI^}8M31RwkkOp&w|&SxUu=md*+F*F1q12Jn4Aq5o*Si7m}L3$h@g@KjnuOoPg{?vvUf&9&00PJw)f3#|<&!R=mKE_HE z(l<)~N_B?TM}OKpvK8~S9~$%U%v8w(;=RN^L!Ie@oHX9PENBmRvu1F zJ|PvA$oEwO2f;c@GwjwmpkwC&xTJgl|#{YCYW+>XzlfgL;c-@NHNFQZY%Ds;=3keM?6$y2EQ!_e5;2fDlb?Kh{wiN(p0!L~QJ-^N zWoXA!Fjh7<^JZ78G11Ce43>+o&$MA;Gm?h(x46P_kpX2+xo2)SbDtvlglhhhBLGM@ z4LvXDuBEHls2vGcDC z4_Xd<2o*j6}%Y28OfV#S6YOet+imh@XzsE+k%mt9zm--)x9Q8mMt zp`nAX5ALmisfV_9dR@j)C_6hFfwi0$ngzCMT0edqApVQ|97qzd9zxfsBykKJzp0Ch z6xbC|fj0 zTQRjEPrW~Z_1(}|8Qneq(sQ^tnUK3SZ9p&9fgO@yQ!NkAMrQTDh>J%p3$oQ z@z{KS|6udIid!|m(t|-3@#|BIpFc;raP2t&$Q;1Vq%5rL^V0Oj@FR1cFO|1wQMPC= zD!q|^CBf}iMq#af6q;D@s|4qDij|tO_{*>_nN}qn4x!4dkM{U@Ryw-pkn_eRc!VU; z#%+!bZWypmzVrWHUzuW9DH<^m1GJEOnuz8jIeYx1a zK(5UAlDp1nbjuNGNcYhEgg5;c`eeBtE!&$TI~#Gyo0;HcP>bbi*;Hv)*9-N(LZXoG zKeJeQZ&zJYi`3koCp!^CgGV;4`yxR_lSa_zSts)q-y0EOQGzxZ85tk&3xQ=<>GqD6!N|%nIGW%P)I;)BbWGKHrue?r)d4aN~FLSg3Hi2%7Lb_cffuJq(Ob&`E|FH)6^Sk7n%yKSHa(rH!DR_wOiZkxKLg9C&Hvd% zjHjQUAL6u@FYI6a*X(^F%&)eltiW}gYR%YE^w1@f(jA|GsbN@elPGSeji`E=`fV;` zk`i0{?)ZF_!qiE|mVA8R6b$SEyvz7~rwG{O~q?DcNkAme>g@kL3+;k0z+WYXLCTG<`6n2sti{jPU&_CsMp08!I|X(!o-Mq3#<2pT5{$4=hl#+; z(%TzL5l`Ly^(!&L!Z`9)F1XlkXQ`bbB_%~MereOc zSlDGF2LM*Pp6;6!^Z_y5349b5NF4|xAUAGUcsLrO_Yg>^t>vTlSw_}sx5E9eWB!DZ zIf8a+=|l8d$}`qYTa5V5_IJ-X1W_tz3HRuOFW$;`&V2F7x2)Bew@QBcmUwDUC%;W? zd@CX!Ny_Gei{Q62!|%Hfk4|6m;VcNz5r^TmSx&SHY#7VfeBb#}ENgTzP=c?jW+ z_M(;9B3Yf+f--qOi4TDe_QEIM$MNW`_<)?&ev9<+H;d=*7^To3gOnxN!m0=Wir1*@Ifa8 z=WT7W2MdJ)di@rz7kO-Gc@(F0&*{xTHQ`WMiO31(=3HvSk-xd_PpThrn&3&Ik{6v_ zH}XGC+V3WPMQ(41g@*~0!OmhU4Jfd39g8P+C~zKpAEljsf<8ysH*yK5M(MrWD7%?i;LKg^0juT*o_#3=n*Yco(; zVkcTS?5UZ z!2_JO%ij;6@|wZJ7#JQ_G&j%h{Me0(f>P}`!;7%l!=Br!Ir#Gjfu@!>HWXMC&Jj}s zum^j=!bJo522G~Iy8XB6go(x;K zSMcWL1MdQEE;Q)sz>g0zAh=)KA|lWcCUOw@z&$Br;b&w-3m@%Rqq5oH%cJ;@JDxjo z-oC7>(c5{|*Ft1=BP`aGg#*9qmyuh}lUtL15%zjPl*D9eYhG$M-%)to*rBqj*O*Uv zM)dRha}n)U?mMG2$!*Tdf0}M4_|-^K?5)$uw8-LO%7Jcd!TPnmrG294bsBR#!~v|AloXoUPsY45_+x~q4dk%1%Qd(^Ye zwrW8dx|P&oJIh6m?#+VDflnpUvAK;{<&~}IUCgc3{sFi0%`X)XsWiXxzs@-)-jG$3 z>5gRYd(xHAk@5B_eWNCeaOEi)#YoZ0a%UK9AL_@Bz$_x{fxy;B!P?zYK@U9%DDixA zdkReqwP3$xIo)+#T{2JQ{3%rv1{=5iss8LF>SHMoN?ocG10SOW1m^QI zFKU9>L|dEWok?p9tcaQVEngUrfSm`j89EZJ$Wt^J*VsDt4KIUj1qUAsuCg~r_=*r) z5{H6IhvM3T5(9>2l)>x}5O7sJ3)3tJSq@ehXmYS3FZ%6CC>OP!jAqx&G`ZdE>h8un z&S1fYgx-I&J#_$<=5BCjAb~EEl#vkw&iCi?`7(2(5dhqvWrn7U0~9ov)LI7Oe)8GQ z?n28aw&WJj=D-+w8%SM*k@QF<{`lC-sMVJY{A%FXrF}dHz!k&~%_?3nHTQsKT(@fj zVj#lANVKpA#)#$Edu`G%C;{^R+eH(&A@GzD%w-M|bYcQqBRxMqzb%OP zxCk^0H39WwMzn&xJsS)4OMFr}rahymv1$W|4I544q)mFMyC;Dx*^&rBo< z3U(tOlKAg|n_GT&JB5>;wEe?*#PRA6)t?IQ@jCNAmM){dWa^1=2%UK-dAcy6pSH1X zRTub3pmD|5?6x!Mqg887vf17Y^Rn3Z+uuF>lKRnnIv2lIXOHsBt+{-N8ZF)VJZ$2W zGgme3Y;lJ2<@6v;5YOjFmbZqsb{P06*S5ZuQ%jv*bbtFs2Bdul{ImY`tr71(y?MlH zQVJN-0-{I^9a;n3)<5i?6Z}z94Zh=3pc7nDmVcw4pm1gK$b8~)WAI~73D=DDOh)r! z0&=d*$lK-29ei|WJxT-|F|u(5sgcVMLpn*WQ^8_~L?e^%H}dY(4KQ4GK_8Kvk`e)z zaZ^GfKtl#lEn*4{NMxX2J}R2&NJimcYV%#bMt-$<+%(8`AwLF z0@H%73*;0)|4{Q~jg9Ged3iOov`}jF#7zx<(vOdhY5->4cC6coVQF6-%el#6l?bPV_qP*4fM!ASAjqcby9 z9OMry>Z2iZfF{$iLA`t7nGfD)I93Qq+xFAU`i6!UFr@&rC=YnVU=RW)M4J1jC3DV5 z6wHDlhO@S|%9!$7T3Q_5jBw)u<5Qn-(}RgTmIwy=AY|+vPYw=35)%nPJply+!DLT` zr@;9DH}eFXdsG^T0`~>_m(~*@QiaaBxlGHZlQ11N1z1`GN2QaP5HQ0svaw+U3y+v6 zQc&p4WmkZz0jx0*J$=IRvT6LqD<}=X6bMv=!|%X2;cAb6Y7zCQW2E|brZf%(fnZ+w zQT=e(lP;m0Czy<{Q z%&@z^)03#EqczbJXjwr}Sf}{DvYq)C{U#=526F6!5R0L%%l%#-;qRZ2Q=8ge_{%!* z7TyCbpwM}t^2C95M5nG{C3-0#zwiTkF)hBNUMnr`6*29XKXnO39dgx!F5ExV#%Er` zu;{aAA~7*BN&4CG+jyn9tVl-W^l|esA69C>1hMU1kJiooynSE2j{Tg1amw#YhoM=f z;(p8>4Dh^z(-26-Vw3&{MOu&ubHV5Z`Bf2+1vpwkn_B^!xQ)#ZWOM`LnP!ALUtcAV z0-8m@G%yb^I_Ml_MhWI}#NZ~7^1$4Ns}n30T4#HbLTDc(hqP#gU?NYQv(VO zn1MgJ{iVhRtfQ==f*^bji9gz9D1w6vR4+|1!&X#qz#w9HL`3J*6a|o;psFyq9!)LG zG{ZClOzA~;nvBcmm6TwCJA|4<2Ni~R$EK&B!?Y@5%=Fzme2@(x3kHK@4>U(pJG+@Z z7d5#05y^{+N%@<3gVclItA@b^U%I84nP~VNcuSc<3xuxPUfm1sRt9|*iWH1zs$Mlh zk~ayu@(laZK(V}G7lYja%Q z_Giz2ct$(oYczScA?#`R%LSV&NYg;og#G+!YdLr4X06&db!2}Ye~(wGQS^heBH{Ev z8eQzqU`ovWfJ<0Wu;R?oBrcpz)!%$;Lxm}ULAm$WJT+K2q`hA!y(|}Cwo&WcQsd(m z=viQ`xzL)MNx1WlR$9iepwCNpT+s38tJ9K2e_~Y2H;b!=` z_3isHOIS?s_^$;F()qV~Y6(TxLTu&L7e8;*sT8_4RCiEhPIi8}xWn=7dPyM z{0I=>Ao;*N6FT_R@T0`bHRZR)5TJ7-B|=08KE0sv{M&fLM$ZGFA~0BMhs*FP@0~e zHU-y~Z`R)T@5N(}VGI#s9|p9!E2g+LMFP(GotN4wPtfQUG(n#X%gUmI$^fGZ(Dkl- z{~iev#`ZVF@HM;(&m&O{1_EIQ@_uWQ=6|Q~DG5KQMDN9Z-G6W&=iHP zrl8Lrj{7$-`>_Id_=gx9%jhYd#<=mkMFX0Y`r^uXhexaf#~r1Wdwc}dn#CgZXn-4+ zONiXGQjXgHY<7=s2+0}Wuft4i^IJAmIf)4iiU;eNt+wY?$&L7ih!;ro&;MRrim%khoac@4~je!$ z@%J|CQNZujv~QU^8jA6O%u;pA=3yc2yt?>&-rq0d(lkn!HjB-HC+cWG!U>f&?q3&` zgJ-kL=uM5yny6l;Aam6c=zs&pTmn}SZKaEb2l~Az?gKh z;LU&-en9{wV6GTe+0&X3me`Gr4M4?HNjR^qEiG*=O9_gs6%q;SJ+~hV3kxqJ<{@D? z0JK`3LP=E}xZ4_weuQ-4u?Z96LFb2dCFc|9TQGP3z;$mB#;qd2o$*F8fEvjpQ*+;p-6 z?gqddTj?h8jQfMp>BUUr5vy7r zpyF4%n`8V%^_OT&YH+(v)yG7PDlf=_(q9z(Nn<|aJ(`}J85Z)ETkdPXfBoZg5 zd1_#Ih>0Zjax7>`5hqzSLFi#lZ)q1ZQb*sY>7}Q>xT**#Hnj=HkgeaA`wZ89!$pe; z2@{H)$Z?7kCfUuXmb=ULUlWXyX~KO~!*dN?_XzkJZU|T8MO%@?KS<@ugL9E1Hyscw-Y3bO-B?7tDJlm=1hi~Q>n2tk{cfIqEdYiV+KeZb6=GMGp*^VyK zPG^csgqoz853?{ixly-GGB9mM>=hloZ_ICPq~yzeWoHFT7LU|4#evy%8qE$W&bZ%p zKN)O*onie;tw8#}KZ2+@RQ$T~RqSJ>f3$CZGimvV(l{6RZQ8o?b!W&pe#lqqU%v(Q zemhl*o3lM0!IFJdC8ozQ6!n6VLOmtXkCgZu-> z9*oviOa48XsC?NgAqC`Y7EW6oz3r40=dSOJU&rw7;ysdXB-0*2(={_Bxz2RQyQiM> zR`*FCNzo9e&-sAcEB?mdLGzWw1Du)wUt!i5S*MGjvAZJ^&$6o)E|#k?a{s3^^u5^V?J#jWX|22zSQ#~!^sLGGTW}yH6)2ge22lEI~HJd zm21EmyG@%vCnmzeqF5z(9>WC!BIu2$;8%drt_r4^IaT==FJEdtc~V8r7#Yg7qQUYq z53yq%=h`eRoShSZK==rLs?&wNK%sTVi)g^bh(RzAcOy5l0vlbiq^m-=0yf12fmvt* z4i5_Feh-Pd>J~K?v=0b(I`AjJ=1LX1`-RKJu>u@M zBn%-!h2|@~R^^9zO1B@wbn`)fuekYW3{b#kgQ}&iT_5vxa$@3Vz`ZRoK|m&8U+RI` zxhR+i!xxzg%y-+GxC=!NOuo3!m?51juotwx&5mtj4?6FwgHbw|0R>Ss3g&H8%8|G_ zUH>!s9?q0oXy@;FAsWc4LNk%N5ZT}VG*S8^q3Dt+`K^G>BxSd|Rk#%HG08@H_|ZnC zi#9f${aqSTJyB;C$2#i!k*v4k$RU7UioHG1o*@%o&A`wladJyU#zY=o>KOW}T_spG z^*3ku*F$k8G!+LJvBsd0qrg4Q-ocKM^|j#qENZZ?JfQl9?OspOEH9Gu>s{2{0IbxR???B9H%GkfpoPX*?B420J+a) z++4`jEU2G6xS`kP{~_{kb=%HDi|&tOm|n$i=_rOx17BC;wmv{4e$YemQZO^aj1oK> zpl$mP?8$(|5MkP{Z!IXWP+nbGK$J(_DwAHAPlYe`C^M_)Ap(cn{_$}iOnpZB?}Dq! z)4;6o?OThp-y3obcw0=oyjocj;^~~K@a0C|hqKC0{x6>1I;sk-`~IduQt3uTN?KA{ zB^0Ct0qG9u?v^eU=>|bsknRSR?rxDTK|u1i&V9b`d;hv)+%e=_*=O&y=9=@feo5(p z3Yg>Q>EQ6E495!Q^9bRFNg>rQAz|`86EY(qypa$~^dOPlmDAEn8F=9eQ3&Yl?u{#L z^nwy&4;heDL3;Gc=KOZx9_-x9-U?0wN8|J`|!^(XXRAMO+?i?xy zPd7x+riD&D=j<%DZZ8`u+~W8}OkY(?DO+E|X;ZDHK|R6nP3FAb-#g~w=n-z<4RLyV z^PeKDn*6p$7qdb!6%`&N)$xI3SZuadT_1K(%T5P|>K0QOP-9-T4#tXaprK`Sbdf~} z6yE4=h@s2Hc%f!x%blIO{(jx*d46w5t>U(^)C*Lft9uj$li|Y)Gq3aeJKqIQVQF zSeQ`}UBE3*ubaNtBfMhu4tRQ>KcgU-x_d0GIu|Vs?Owd#dG(3E1r0;C#8LjS%96oR zu&%voB+3iCjO{rYWxwacz8_{9rk5TQQHglsNH3UkbpJ>$-7bGM7dg0}+SA(>E0-^; zsECl8tD%g_c7ZnIE@=d!kp~kTT!GASKMiocA#_5-ED~|tuFqCGNb9>FD`KA-vk2Z3W69Al7PUv#Ov4NWfxtB&x+x*7=oqN=V=parhf8bp@M4(dtJR0*bko8Gs(II)IX4wB9U+n3E! z0aEwxfWaI1RPcF+Cnhi;&S+3YMM4sU0LQ?q?go+c5GzNX1+eo2Dx|y8Vl?=Q_GCy! zTNn;56b1RErL-m{060jUCB3O)K&1fm2qHk%ah|?gmvQ*d3uFfP z@zAwH5rPS6*bdUU{=PoMkR3711$D%OOrHTa>hS8pe|f-wJAe@pC(d0?5oXCJIo;>% z&(a8WIB4Z*D^FbCGCS~5y)|Pe)<90?5b;4rIYg{TbQyeVXI#E;ztVr7x1TdcjEZ7x zGCDa)CiMs6msw7WgkpG>``<;a@my8sC>6X<)C$o1YC>Q2nYv}xC2!G)1>0`LCG*V! z@2~6nM6H!UZn=Y>;fsME4Jo-E9@qm@Sll$pq| zJ*969rXHMPwxFalW?C+q72vIINP4q8pUCIN$$IB8yE9gGVb`NcuQY4784(=0SPPFX z%ec7AvR$Q?i~eZ`jWT2Nc)qrIEA#!yw;6XIsG=%1WOIv3#~k&aL`))02B#oaUW{Xc4?{wPgf#1QIHUD z6vzqv=M#kj5#&X&>>V?hH{nt7FF^{S9VAgkox@5PXu&TUw*iY$O4;pVw+0yr0sn#E zD8eZN*ey2AN^?nX1OP2tDgqH>17AX0@Akq4J~t^4-Y^Mhfz;L>fZov%qL?Q1T9hC1 z_!M5=-Ud)XfQZ+Z%x5WimBMF93LSJ5q%KwU;PfKE>FR#sE{Fs2hKAMt?dMfXG3)VH;%I-d!4Oz$#aB4xE-EF-kLHG z!fVKvf%Y5~GYS#QIvuvIq&{K6^!S**KSEL7%L}EU`vbQJDy4``h5NGvyT>)Q_>;AeBcbMVba^Q#*mc}h0vxyWk={E5EO zpt!HTM|VX!)9QQlnOF7c-Q9DxogWSUCc4Opdt6Q_q2-JXrL=>zkNt(RZkuXzfEk3i zD3C89#Pzvt=99Ckfus52^q`;@pLNTH;@E5NomsRRO?^Uf72=?u^4K7lSJM`|UaX9A zTb>}0sHy6koenAU-LpA(Of;)0%^179F`NT0vb6DMpH=SLAWK3_5=L@mRaH`+4JU=M zS#VYY5P*r1Tsd%OrSpoFf`g>iWtS3WQ7BYYDR*j^NFyLtfT=ZGy1yD7-G(DU&<(ym z;Piwdh#U}1rn2{34QlQR!h13}m6($9?EVJ{#@M#8F{i0rW#S+hzpX;BqzC35!J;f& z3maP6Zh{jUuJoj?-s-2?0#Me{+l>DF`JcxNVSWaaBU?)T;d78<5w|(0hi-1idX3t8 z(7}N($pC`LK*b518w8F+FnpOn2k>}xYY#%i%wV4eKa2VM*T(RF3U&DwN(YF%^z|9Y zt$>|TQd0|tUaS~uqE7Dz=Kmi%sJ>#FAl}SKv5ikPwDO9|H&GpJjTyTFMWp;eA07A#+J1O!^e*m`mZvET z=Qk0GsjBgz(pIol%LlipR|86mZf|>BfWy#y!8Ldvr+9_Q@sXJ_$EqnN{d%+SecI-@ zeoWque=E<_;e$DHetql=WzLiaHv{gVwH}Jhx~DkLgNizgLES67zl8l^VP67`4iCo6 zFZV_`zuRvA*;&|gL_J|l)3h#QCVJ`YrME5_%CW^zqr~}w>R3=X8Y}AKt5(zBnLTgQ zEZ+vV4C+RI`G}8-v|(eJ6l>{&IcjgrUIF5TuUH0FkSsc#7L`}EJ$s&zpgDC;b`Z0r z54zt;$b6(QUg^Z(CJkrFKlSexyFW@B>c+j?Gy;T?`kb*lJz^*XHNC+XLvPW>rHEWM989Vfhp z2xSxD;p8#1D|+M&ZiPGK!Tw=kw_tMP?4e3P0ww{Fv9kc?$Sc37qGsHkU0+WLbtsLR z{qprxv$rtZLZHTDIgwFP7u>c40a~ZQ#lL4&KDoTk!`L))bE`e4{lV2&`{wUsZ3xrBi44}!)*u7l_FLsS=*sS%@*ru{*w8?V zhq0e;6pRw!&;dx{h`uvAztt3yqoZRLp9)MbQqyEk*nX}bm0N;?(D>U69{!vkXYMEf zB|$@J!>WAVb*9z*Cbfj+ooeoG&|DzckX_COTVtO%w(?~9^>E?ZO!6*kycHvSWRoNH zKzSd>&bjp*xC`Of?{db^NTxkADJb`U({(HtmKvH?Q*+ZgH zF!f_d;H0C{>`aOU5z$hZb@{ReZ$ClFAL`VC3DOYflfcrkmO6W}nk>XKAN5v-vh5 zgXvT}{Xn^-nU+}f*N#YGsr@Nu!`&6-10MXgOxM_Hpz5>!7h!#+q++MfL09F3J~Tx5Sl$I~t#^ zlU7O6Ha%!2A2gsQ6%sL8U185I^vgXdvU{c!iD99xc5)p~rSXe8+}!g@TxK;aJNrHW zDD`(|sz#i&CcqibF0&AtNs1F%uFN{eH!S>`Q@;3Un_-(XiH=K=oN3=0iYyGk|^y%wAx(=b4%U^)>U` zH^Q6q$(H}V6+5mt{{QnVCw?Zb5m;8NQJ}9XcqNl=PR6E`xV+&%NxyQ(!ZtA^l9qB- zO3;0qKRS0Ur?&Y`)BM5+Zc$D^nT;tH$~+CGm66C39^Qo?!T~wsO-Ta{+BWS0^pisI zQq!%&dwSnX^Lt_vM(yu?A(wrv&L2Xuh(=`^WZ0X^btW`jFvz`LyERY7K=1!iEudrT z#!N}U}H`$ot{jC7a!f%h`))4CFDCk9Uandx#SoUFJ;o@EL~Bo{nco#(rqfBfnk!^H@W)G zV6OLr4%Fb(yq77N^V5SqJ%< ziAH=}To$B8aXb75*E=A0Zf#Z6jAs=P6y7C@)G-s9nw5Zrps{PCKWO*MeC_Q);xC=_E5iejrBVft*;NjzHradX;28pJ9i zZozc$L@SE^{nYmEt0y|}a)22Je4YNg@#Lbs0&fGE-QWzqK1psuDSZ2NrZav{WJusM+ArT zK#JprKJZ(??b`!vA3qSv?lUrW>su?DGENYQ{ujQxvMb{yvhNY=9{AiO)a8QR>Le_1 zS!*Y3W9>!pRi=|l(&~!^MnTv3*(j%3`Nl5iVMx=L_u3lB$p*LAwu5VGIG(KNrMF%* zs2TZ$?!P0NeT^H{vVNU+uiBAiiEq&>t;g(B$m+0Y+H=kl3o;JA?Z=JS!_+PV| zFZZe|Sg?H~wF6>|1SE<-8C^)pmy6D+g`q1X3C$i=_~J08W^s0{f9orsGa`6uBv*OxdJ&QFQ>u@csOJ7<)4A&?PRVtY>`GVQZ0;l zG&RlcR~F_40vW4(O!NSI_XQ5A39{Y=L9oaj6r_PmBoW>z6U~G#J=H?f?Duk-X7dK~4oG8WnGJR1{u3hYrFssH(PQ z8^%wo|38ug2;~rcFb9{Xxi$~XH$jQwHIEDp#X=Y`0GRu}w@Q5{$_#AZ|KWX$U%EPU z+8K~bTUr4^*_11#m=*!E3D35Jj}=($$@v~EY!GFkbmGH1pBsc!kN@7w-TyuUe#Rhz zC#3x9RlwYwc3_p~SGZ*TAQMC0I3FKR3MEY;(+m~RVnMPG>;_Mzl#>%LWDt?El=6Eh z-nIRo%PFx8gqV!qdTlp*pP%Nx-xLXcR$ey3gXJ5oiBCn;VG{O9pnB!31SR!3>(Bv> zYfVLaebPM*VIJ~ye16nw?u8GdvW;jw!Wg+Qr*7{``bf55k4MAMIv(a}vY5LR`G4_z6)-j+f;}1wmNY zAS8yQ6~3IfV+dqp6br( zuP9k%R$7H~sT_&2lq80Q)OeJFr=BCN-Msh;zdKH!u9dxPTi-Z&*GO+4_--$0?p3zV zFt%3up8Z%tO-{nyx>9PqkEJ1Qa2J5Na)2>vbfSNq( z_R)gH!kQ*MI~4IAQB3?^yXhGtWSH@QCn7a9^)?});ZXJdKz1H8Hi&)9EG*oibj}1P zCnsR$lyY!*1k-h+A*-eG&rMA<2x%R3P`qTkaGN`wAY!IjFavE5n%LjJO#?};(fkm` zH&Ia<1XL6%KdUmAo@Ag2f{T@Wjc;D(ZdGnBdR<+eMzvK^n;{^jNLbYnm^g&96uN%g zi4zUSy}8GU$;pPlUv^yQ-3gNfD;8ydCm4#r!2+34Jkp-NK3w2I3Hn?LBJ}#|Qi^?` zjUp;z;2vT4%8R}knsRsl$A`)LN* zRq<6-O$|L06DCy3JR5IoAjLw@$w`2aQo%BcH}U^R<`V6&)?QtTu8Ksz{{5CXbSHu$ zC1Mwu=ipBzItFXN!#Gy^hpYVfxxelgH41bL!`WLK{bD%ZcU$tjUcPoMw*EFtt{eLm z)90#Bg*D|Yq}QB==+v)co~q*?g+)raIUQnKB@toBT^|%n3H_?CxcOZ9`)yD~g36Hg z5)z#_lhrhoS4Hh1Yg8AL)4lJt)&2RCh>;F5`i!mq-~>hem?Bo%elK@;LDgfQRsGz^ z^K+B%HC4?m4%2vMbL-Z9j;jDhi?7y^A$5GskLWDjalF#r}J_%tv}T;83(*-BrAmpuF4@9CKt zaJ9n12lBD-wuuQ+DghhbGvfh`SN{Q#MFKsPPVG($Z#%Vw1V2QYP5}842!QhW+12W$ z+Wuf}0~zWsT&l-YTz|1@Nl8hU>;$DLQots9pGW01{O2K-{3znP1a{WQSGTL-fP>w7 zt7R9gsa&|=j~Zho#PtWi9E=?dm3+^B^mYDYkOEZLyBCVqX2REcGc4K#oapn4EUK79 zjv`c)Av8WbxQyYd0yV3XmT%7383=Y)IF{r3A#bn|=*$yX&NXH$!TKpoy5eOhnXPwB zd$eu?Ds4oduYxZUZMdSu_HF!JY`ROIj`bybc^P7@{2@|jWC>YIF>S>pi=eN%Zm6cF z^q%i41^7B5M%PycS=Nz}cENEsP#;`l+7**Ozx;keH7KE!PO3!X=xUyV3)NOZ4}~@* z>Qgtii2d4KNpCeTH?66ai=Y&xNtcWPm-%9sw#aqym22k>a;nE2$c_me1{IBWkg;g( z8{G(e`@nF$HdDHGKxQdxms^c{H0LEVccKKt3h_L%m79;H5~Z)&x<*hkY&0UUCfm>- ze_+E27`PHTb)UUPXM1bh{vkD9;xn>W0VnJ=L&#uUy&#j1nW)zo5piywt&$ z{8@UjmY#j2u}q5Gdq?-iNGisToSGU}Pp`wb8R(7D|WFJMwb^1b02_^g6lxnB?j>&NSg3Qsp}GW`Cy%V*I9$%Kc%t;W!OWp1H@7P@K)Ald z1Y{vQuyj=M5gE9>WXsV&%pzaP{(RRzI3pme663 zD9_lOg~VPfjqqNlIZ_a4U%q%|C1Buq@T5=k(!JZ^V9F}Bpgt-j)@S(k?3d~KrAdYc z3D(nRdBqcNQ+gfz68dcdk5%%AbiM6PC9&#x=J2}c%-ArB1_Rs0M>w8J#q`np)X#~U`rekehL+WoYI*dWebbDSyQns1*%m5B z-`QNX;2XJBQ&vNO&E3rY;*rKhjyy!R9}tEqKf)i@`99FwD`%8aF8Q7o@r#4MVy?)& zAKQmdf$|LwNiJ}T=Tvf%M({B*fb$)Ew8P!O9m@zJIJhFEEqrw5~L`e=td$Uyw)U9e04YoC?!Hew_6TSo}rV69C{EGg?P$y zN<)BNltq{6Sy=fCKU=?ITAGRq>OU|S{aW8Ht&M8BI) zR7*hYNtFKKAs zP~%}1g)Msv6Yn{VtqfCnDzWd8P!>;_+A$xti#OK=B#A95p~B2YXvphq{yE=e8LyA7Bu*KVtJVe)fpWC% z(u<{Q$KqsWOLdkZd~ES6sorI-hb|grTFUd+K?5h=ySkVme1D4R(bU6i7@lrF@y6gmV)#1%!HQ!VEkFve3Miqx@mruQ_+(mc#|5ni6 zcA}O1A|hug9PudVOMeQ+rcsf$XEr+0+*xvxU(};rwzCg*EvMAAN1jZDJ{&E1_WR_V zFjoZ(@Dg|#Rm@T;l3`f!mLv|GD}hSPyvY((a7~SkkKbdJyEqci-T0Bd0FR>bJ0N8% zfB-F7^u7RWt1~mWDyK^};Lbs;A3;$6VVocx#!ZP(v|(heQEQh)D?^Y5Xi*pyYOkIn zn9#s{OO_y^rNsxe5t<6qIR#a2TvUiWBix6Y?L}F&UjM#Lyi<-54K5cOh3X3Oo}Dm{ ziyXN&2Xs3(;D-_J3ydnsEl?p5EPu@|%P5o6z&(=J5aE>uROZ{aPB2hGtccocx$%Ku z@C5U&x~eKHf_Soe4#qP8G;z;N!QPg;(8|N;k?NG_wb8BrvDmrx%x~kAvs!Te&bTBl zK-qnHpH#{qObe;B#G4i~K_v3_?1zhd((zjdHGyQeZxX&9?0t}f)OBDG3xV)&sg*N2 z+HNvMn|AQ*l;Q2n3+vX7YlkzbG(U~d{=Co~o07>rOpG2>qCuM;Qo!+7b6uI3?qtF? zikTlC?lYrDv>J!Vl(P|4Cn?E-me#Q&grTqRm+W>hEOZdqmp0K>t`~;em6W#Y?{2SX zxYJIg{*$)+W)Wd47|rQR3~6v^y)u63cHPJc=idAN^#r?n@@PL0eG)CVNY@DgAk&J>#Q|jPq=R&}p5fC?-*~!MFSwr?VPVznY}Hl9+oubI5)@ zzn6kC*S1jJmC2UKXnRkmd%G)!$M$T6@H^VGO z^T0ud19g*hn88cX_rxxCc!-IK$-87Ryc_fP)6K&oB0Atri6SIIf?^v7hFq!Qz6<8u zkuN|?TkyT{Rw6dxEee1?-5JB204xSzD@YV_E>t!IEgQj~fD|wArMP8rjT~X7>;+z2 z=@b!3@lzg7PELpbjxiU}46$$Ybavhalo1WhOm*<75Ckb^ZCkn!=TEJ#{!4S)ybP=B@6#-d|d6-|u9G! z$)x3%vt%%d;ww_2dK$w=)w|wCk!Lq`|Mp6TEp2Cgt?yFNO=_Uz!*@w()$iX9*pIvW zL`k~(k1s=}^qRa$gFfbZzo5IE^UgzKx3zQbMyJ*MU^}ZHd~H4DR0lSFl!=b+O2fR@ zAALw~2AYcPuS@-s&Q4SDmddBiXr=M>Z@9$6ZnMYTo^H%GHr??VK5aD?n@D~%AMOY?9z8)55(4+a%!%)_7Xp^n z0?Te~U0d9Nf7R84g>k3_6FpkvXD^m?*!h8mY`Cr@IdejaEUcFi5lOo1dC?>bC*sea zKfGSqcu|t~p>Q5&<_g_wH?`uQHBTDb7{HE`&8_wLTR3b;9sx=mf+WSoHDu0xPBceD zO+7R;q+dCX38ugQQd^FWJ!#%AU`s)F`sezK)*&D=Z|-dy7->xc)nMMK}n+(dn@CuA2e;_qtbU)=mYcl_|0wh7xb^#chZ5ti^_R~>Qj zS&x9*zYC)0>;)JpQU(^a;?3TsI6j`vOx0b|t$oH`WNbWWEwA&IqWUtj^gV*mhbsov4F`y*S$~r+0US|<}iA5w1TZG(rc;RN=ZRvg7veFwkfdJq2= zU^>z6>le<-=D*VB|22hr$8i1K1&Rlc{2wh!`}_x!ncR=i_%uAvsi+HvtX%T~F%?SP zaEqFrA|XABBjnT-51@En$<5Br+Ap`GtEzA7P8(rCo)8~K0`S~Yum^M3LLo*; zMHTg%U;${vLoBuMPOc(067_%9f$bCk)O1Z617^Z&Em8`cEG4Wu?NUc8D8M5%Q(8fZ z1#SpWVZJRcxB(#G4(oJsm50WLV5X`>oEx{ykcB$e%D`a>H;ewN%dl-S{t zg&mox@DJY(mxsPG@q|av(msz2$2T6_z@2c9OD{emvu}G61zUt(J8WlDBEq<{zu$Fq zx%|?dAVLSCru+{nuQ$a>ET0Q`+Fr$)iyU2OxILbcC}oy#?r;^FEvxxgw9uXf%%j0Y z?e4I^f(`Qozihwvc91t6aX<@k{uddKlq&`ahb1#B$y#IjP2qacct!&K`m)9w zWOsvxT=Wn!)_mrzr^4QrO2&vfzr=PJ{oT+}mC9s)!g0QAzRR@q8^AR zeP$D3K(1PSP2uO_Qe3rpU*l*MZ)Ba;$)tAnpnlsdr>uAS zS+Qu@j3^U{@tfClEsr_;`a4K9z2FgV2(n%~9`t0(%0Kw6$?zP?odMfQKOL z!(bNh4N;U|V4w?8JUCpF=T`18q!w!2HeMsRk0NR>nWDg zpB1XE>}q|nuf4DJOnb*49lKWqAjEA%CpkZ<0jcPbSBq*FV&`RXljqqrR#!~R>IG6KhRh1qCqI=S+j*m-#OEd|X`S3pWi$}rP2 zh&jL-tv^RchjWgD7A7-`mJnEYmiy|S*g{!sa6JMg2rRvc6I%bmyu5C65Gs0p!){Q( z#yh%WC^8ZZ@@i{0O5NA?_QW2ZR>0P%2e3m4R__Rj)1MN8K?`Po zUEZhjX2)SvF!u$;#nQT_stO%2iO$Yd!)UHfG5sJ2!y5!y`z(8IW#_LFY$kBE``Zmd zL=9>&j5{q&F@bAuG!2E(^~;OIUrn@xDz5U!JhviyVRCk2_%QzFit2JRp#tcHXfYk# zV3@i5GlDvG(SD`DL!TJB>#96H5-iUoK0!EJBh<5e(7g^aN|FefVL|ErP!U0m8|PL* zi^+(Cjo*p~-@6s`UZ(-EVt1E}n&@(rm1OPMn z_o}rV+8t#NjK-VUS($XPY7N6fqdh9GQ)_#$ZV9MYq} za&AfgnR8DGS>okOc&5vhO9XKdaD0B-1*>D+7cegd|JLSlr~o&&KM)Uq2QQ??3t9Qo%W*OU>l4%@FZU0x1ing|$UFqC!TPi{wTxrPR)c;qX?{fj(3(DMS%~@+VAAMyjx1`Nzbr$}{l1P@22q0Fe-mt%B zIaKZ*3deVO`0MQ1&lfw*F61=W1s)CPuy4!kYe$IVMBB&NhL@sM<%B7N-XXHeMII@! z1?WCui(zjRbSbS_E$+M(Y96PUgnTH@+{uGKL zwXFrk1v1vSpyKd*bQ{2aY%x$%e9(mflL2k9)03G0AsAuvoOF#B`7LNRo+~Q$fU7== zgWA-@WEmEoZn~l%a9Qw=G$*ead{1D+q21y$pD)%7MJxk4T+k|C-cIgv@iHlGAN&Q#FB3Qow>(F9Ir)=M0Ys zgsy>pEL}CVc@M$c*;}*k+)kep!o6teWzT{BGz_;{!R71%wfFr&&*Jj% znfa8axtYA8%cqBw7p2CAYdv~P%-$5AoNf8v---x4&2iCh3aS2@`7#}|{P@#^OZcNe zND64qDpJdKRp;(6r-{=(jgWZP#oA$aaB1nbKB{x@hsJBV=D9Lzfoua;5m8G~XhDs; zZ$N`RTBmb!TjJi3*4&oei}Zyzd(-UB8m=c=)XcpjQ?wTQ(W|VqT^Mxz3`3Z*6=ggY zbehIZ1hQiBE`nvoWC2!{JhodxKJPx-jLz5?QQ}ytbeJjg$yPYoxbp7OQqe#TQ8`n= zkow85s_*Dr2B)Rk|JY807YH6gyIC_QQhc+=WIQR*Ix~iLqtk+Mqg_sH+W28w-N~fp zMr&P6z35A;Dd53M;>>aOsDGkG=QYX2Ua@&pY{^NIX!cNHi-m-kec@2KVORc9-tuZz z)2z78eih@-A16gs@?>ZwxNvhSG$`vU=+^s^aw;+lvkp&Af&pp*#3K(y(>iDuU?XN$ z^+XwZ!bJ`k?%*oB!oGm@;Xtqbo!xZ3dug$qYY&C+4I360AQSIagodud4hT8Y9^VS5N0sY z#Vv!?A?MFbNC!Nv%DOhGuT5N4-n_XbmO-GRGS3U5spF`hM~??CzS$e`$<@Sj#s&H|M3O*tlrK*9D|QO z`8|n#HO?}KWa>{_jN9p!1#>%P>&mGquZCm)!HZ-1#Qo2n(>_H?t}YF6UG(}D4L*V+ zyit1Bt`sSx&4G#wk8hPf59ZS{UHP6XaB#lJzg-!%NuV>myFtHIpX?Fv%wiUmBFFAw zJsq`PcxutL){mhxMo#BeNAut|GW5yvzjLR|WG4!=Wz5)vLEX#iXEX=jHu@!0K>tay zNA|6CCkz*xW(0afnYa&=2wP=|rm7QD;l&S|({IzFza|R^LhOpcix;=R z1C7|dB^pip7`hbH^HbOiVtBaHwXwr{{SbiVjzH15$LGAXpICk$q(TsiLc_OwH|wY;Vu{>cGPfI01-rk&j;_g@nko5QW0f1f=lyy-_#beam(Tx!u^z>=|P$ zh3JCP3pu&KmyA3f$~H*gP%t+)CqHQD25KQV2(L;NxE_Fm76_(KG?PzkUkBKPaiBo_^lYr~Ep$5+V@^(f^2%-oHf-sUNw=!~ z-zfweD2>LrHWZD=>Q~@$?qM6Ry&s(+CARUBSKMmwo|BVYE34p%{)?1iXz*oU`;va2 z87WieUfc2(ugC_GbgJR;%{H0EUhFNB1J{qXCFCWc-Z zO1rE@-0|{XK<|PEg)Xko1a>jNd+C0J!Lj27^Eimh!HV|Y4R1{tv((?+XnObj!Be21 zfjBPwaQgc7Yn{Ie7_6pVu$UVn1cMvd6yWQEx$^#tWiIfPAUL;h`tv)BpzDVkRuFYe zy724Q9v}*YuBUqrY_PgQQlK0FYdK`iwD@4R2?F{GkmI6g5yAx|2G5&7%?gG#W@o`V z^;cxGq>N19;5t>)!CxhSXu+~wA+QoUO@wmsLfMgN;W1>mhKQ~L0YBoQB{dV(jEe}vXw0Qe9F>FE)lhNO`Xj zJ-C`KZ|hx_c~V`U?x=NQco3C0(am(dYIHp&vwNf zsSdA^EEJkchdlKR3c3fZWkrQ;b_oWxhXxyeOWxWt-~Up@?v(o!Wqh4c>HecV!qf4+4`u6rXF_(_<$?ofFBopH zgPvYxS_2F0*bVAA_`L*T??Jc(21meZlHMnRjjaIBgh>s^N&3fb=LloU&!4hzfNWKp z7d8Y(4ac+=;S|d+VA5CVQWdW>Ds^ zjsO}GAz>v^5!THAy~EN>IdvFEF*jtkc?=T8Biik~C_w-s`B1lc>Ne!-)*A&&m#f;b zMgD9e?_9cxbF3x!XZw+iepzW{oju$%qPo55xo=W7#|oRgPMFLL`h{;gViHEOelag| zDPqSLsjk*yHm)8lN9vR<9kgM|6z*E<(nbb`To&aMLb&9X|~E*#s^wyaKZ{n=-Z zGFBmXRjP7yO0Drm)yKO0#P+(&4)+Q?`%vxpZLmOgnzMM3*OO-(KR*M|}O ztgvRnGmpOu^2~_X2W**84r7Xwh0Gkkd7kg!^)MwBq*YA+gj_$7g^a|`J0>#^D}O}fzH!Eko<`B9IZt9^X>wr zY*no*Ux}$8KwX@Ofu3P%;ug;Qm%9admhB8#EBp`N9U1hlt!9KJ*mHf6d+$>7tzBG= ztxcQGHs?6!nFr0&wCUXwyKhqlpAt8iI_4KTG4rgfTkOOg=~TlTXp3c~)*!dV_S4N> zSgX-=*_R<Zgl(wP(t07gUF;A8fcI}N;!b7%LK{G-wn%`e*flw zd;htjK?n4o2-ID4bRbz3KO@kip}pK{j>3S@5Nw5`;MG<9Z6`0^pGgrOj9484tVqNn zWDp)@`e$3jVF?xNpj}3`yiE={;)#vF_4D)d_E+c5p_2DCG;sF?Hk3lc!x2$tyWJVS zV(q$-jYEtM*scbe_e%bh;qd|NTfj4C8Vzh{xX8!e0|wI>grSu+HL=CTTa+V;aDokB zECZ&OP~{30d)R>pTk;-lI2&17;(!+)p>f}B<*Ks8Xa{pCtX-~kKVk%9PLxd&KRLwz z;UcE3qC`bPtgUEjo&;Vbr16#XZf>T9w-5LScC5weF>;JeUHXWH%V|u1Gs=%tT7+wL z@4B4UoUvEUyEK@{rZ8G#TO>ZVunOtt=81jzkpXA@qJx{6p6Oc&1yjl1_FJPC)O`*5 zDARPu0mo$W^5@uictJpv1S=7g4>A{Cr;jFZUBLhZ83cP=4Akpncj_M(i##mVo?*L( zqpAI8HWPWuVY`}5w3uH>^w+dz58JB)Yn5klkrM(j^SYKd=&F~#ZvWQoIuTZypYb=V z0X;5bNBT`H?#X@R33eR+`;EiTt!mc84-8gFD>_}Gs;7)y8q_+TjC^h}>d7Kw=cw+$ zy*csGMo(WNR3(_6q4kgp+sBCx_`Fz?cK7gW>gbv01Pgt6+Tiac*Yb)o%YkRa7{SLtAfO@8&TFZY zSK(}AXs8du3;5`|e^VpY^&m(|ktRy955j=pK?j6iSM7wsbso(v0whFp42^Jjcs|~T zB*_xBRo|NnI_O-;ao)jPW(77S*Sv|MNg9|~J9Gn%<5N@9-?duCuxEP-c7YhHw!Q@Y zM_|#*XrlgVy8h)G`hSp?gPRv7Hj#aTtW8h6jgG{qvFB)){oFEt> zp63iNLEjwNZ-E`y<_9Mq1zu}Y^e8reZH^u)+eQPmpie-s181SpdT^KFJt%o$#%OMx zd+Kwb+w-titK6_FoFu{lGNmsr7Q0SHEV){1MN~R}uVfIBEnj{#yUj%7j;8xXKz}gT zi|uNX|I%mOUX{0|L#?%E)sboWjE=6&lGU`e-@ooqrt?o1Qu<68#D+ zt3=8`c>=UmeOnCG^ES-azEosZaz5CHgh!7eEw`_4`DuRKe&CK~|03S@`*aM;jSGhy zu4nq8eZ?*QMyavx#5K{bq1fX%1MJ7zR@f1!ZTx;+JQ6soA>SpyKQg-RKV{ES%O*+;1qA@;Y6ADeT!_V3Z zzZo>E+O5D>=uO$f57ccth49WN(=8v$RLCOx%E)-t7_eXSnlX0r@}F<-HKEm=6Pl!U zd~EG9C9*!kH)C=v^7Rx)=I_o(A$Q{aC%-(T|3iTL4_O_12L%pMuEV1 zZXl>>6;i*z2?`^EZnis9R{V%DHEgOVC8YplAy`r{a@O-oO7L`abWAf+fGsUeb@Nvs zT3$|$N;CbUliTq+UD@>xzLUACbgu@QKV|^o`>HLHVjSu^XUrEL1>>~BU)%1sX84MP zouAk|w~}--I3!Lz8>M%1F~EMne{39Z{qZ?#ar;j&Iu}(;W{pz47iuF|Y-yxz@_%Gi zB82J?s*%1z98eN#vq)W)(S448xfbW^XPlAAMt|3@X;+2xM(cbyR`a_D4)f|j0CO2u zAxU6H;uc-u2&?kwGd)J zxw&odtB2<(vLA@XIJiIFH^Z`}J_!hAb8`+^V=qtMsCYlIhUe}oV{ z+N^quKxE-D{5whjPH6yobpPdXhQTToxVUK97PdPPJx)6cNU~M&jN~^)>y3TAV zM{v5TO1Hd;GO9$P4(~uEbyg&q(|YS-_cwvUw@vtTbI&`>f)X+tq<9(sw(1d)>6_?( z{$V{R5Wl(>ff*T~{*<50mWi{&>#I^ljQ<1Y{QU(}hoqPe$4W7~ltPhKngMx7%fMlc z7+rr#6Nbyq_|w6zWTe2dfD*e zZi!~Xr1!J#s2;Bfs>3ql8Qh0_AL5Uh;G?0|yuOTd zCEPfwYKgnX+=UEcZC#R&^+x6mvde>MCj_7+q@xYU!R8|0o&fkS-TgNO+)eKv{HSed ze#!XE$43mJvQ9D?o^r4LA5G^S&-K5)aoI8>dq+g}$R^3kOhO2ez4s=B?5K>akgSxw zXZXm@%-(yGJ%9J-obx;Xp1$92J$iY)U-xxi*Ykqf42aBv?^H3a6-vC{n0CeUl2PnJ zAp#I%MC~ZIFDuxT1t}0JPb)JsQQ6qo%)U>_KYvc@wmlgJt-7(ixG}(x{Zd&;4wdnd zUed?T;H-fY#4}<Gsg=QMccDf5A=SJ{K1fzYKqZ*3~)~ zrJ2sUp?+i*nzY+V)Wn-dFQ0&i0XTF}&_LlkGp(eD$dr^w)3eKC@tZ>WlNb6Gvb8;nIDMH6oqpdBd!@ zS?`3_bybfq&lk~j2ixW|U5sy|FOiKo{sU7VBj$=y95O%pVq)$P&W6I#A8W(&QBvE8 z8qe$I!-yqpoXYm0>fw)v*x0j1=K{9=^e6)N`BkFDl7DAnzIm9e{y}m(cnaQT{c&Sj zp{DJX^I3s-CdH}fcvPsEoVc}}xjhDl@YG9or;ACsZdR~yCmEj)6-kz3hBr{{y12j@ zOJ^0W)D42b#n`JCOuvSz=ZGE&@8>j#qHKyCMJwl3_w!VAGT{k~2u#E`;G+hKK-Bs)N$>A^ zbN^0}eJw~F8e(~q6;fef)Or_@l`~h)<|2xORmd@G5u+m+1_+7aPfzYndu?zcIQb5| zB!H|5&vguW`DL#)P`%*g!yqtpv7-RCEI20{6DmW(AYMz4IPV0MQxVux|tImvLz<4OXs2C8s`B%H{Z4w<*AH@&LtyX(? zn&xr$23aphL17NEZMCT8SSj&HbFyzuTEY!4*LO(s^~82p+iUl7cGSM;Wh2nl%r|}J z{OZbFZdN=`Z&ON|=r5$b?Xp#U$A`xeSIdKNr`(Q*Vt33x#$+kdf3CY`dIh1Dq+Nb=Bx4M@-!ryF8s5bqeK{c> zTKr*+713Np#ZwQ~yLg6-t zT^T=nk&|#r!1QfpCgLz2Fx|_o*jQO1D?34gmMC-hCvlsC;`fO;0ub=bit~_8jO_LP zX+-+JtM1+J9gD}E0mr+qUWwvWemwSkx9Q+9opsW;X!>zE#yzuKFQD<-g{o`jgi5~j zEc0K)JnL-J2H_lGfq8RBe0B04Z^}Z|m_D_a&H0sXvrk@dqU#eF7>JV2)EC|O(R)YS z`B2HGfTve3vg{Zk#MZ|kEqW0(^tDNvkp2X+Kr$ zOjy5Z3u~_H+Mm6pUSN+zOAz#VE?X6*Y(>l*UekWGo7}G-+$P`Hq8&rziz^mu9ScFb(~3Pjcm57yWFe~8Lcu9QkJ z+)}0AyOMik+lMij`9s)s)YgN8F3_gs-okSU)75@9go`+4Tx)c<4ab=i)<3v@8(i?%!jX@vl|dRh?qw7EjbP1|G2Pa znQ{}u>ATU8DLp4r8$?-rud^R(FFI(1ot5g}m!YS&Upb<*3cxzl4yI0vbnAP}ipF3K zO%(TheMt&-Jpj+QoV2*Xhsw*_o3cmT#@=2Yih?q;RJ7avz_8y2%`DjD39(~eqvUzs zGGHsG2;YLHqR5*jhlhtqzRy<;HWO#mhZ-8hz$NIvg%#J%L@^Itn@vp*Uz?ipKFDb{ zdZSy2sBzt(s8p(kX%{wXlecV{$RgVBQV^4qW5LNwp*bs#X;qMtlAQs-De!Q@SE@R61(8E zSX^}5^~Fu8*NgD0jXKe#HoZKVrag=p>#_;Ru9W<$7c~Wqx5Q@V>zUU6tR5)f9JWo* zNWSagXT6hCdXwTR`IYIc%0QVTl0m&A@t(v8Kp!ZpJJTFQy&wjq|zQt-Q`Vr>s8rL z^Hiq#zy1X?UH7UChKzS=vRU_MtkrFu#T!TU8Sy;K{yVG8U;eZt8}^bd&=h2uzM_RB zl|e&NjE*ofHWF1C837JVba2!Gqs7do7YI~y^RiagXrhdY!~mwC{bV5tfB(6;xi@f0 zSm35Y{5ACN@nCwHq#SZQ?QO4V+~@H;1WW;$6%}NBl;s&Bv~U1SAj%UtG5Xrf3~8#% z%7085V}uPC7QpqgpzFLP)Dd7?a?4bm02p|mF17Dnuy->ATy`=XWc*~g16Jju4Zi2O z23f`MaN7ksd(0C7`kzJ$@cgT(sX>&7olS*5|KAwlzUX0lYyP+)N=8sKmI=7alwD~p zrMH;=Rc#Hg7Hw?`a$K}0oLmf%<_d^DKCfBm%GqvdkNMe(u69Ocdo`ebkiQo*WnQ#) zx$|^{IVel#oxiRA8#OvZ9KtZp26m~?oS$~GwPv|ry4o8}gl4mg+Ga~~2_GdTbnZ3H zyYDWiA3e$*Fxm>r8}+_&{XTB7$vrkzIP~mY zNa&Vv)H^D*^NQn$(s!&fU?@}Zipewu1X`HskQWKx4>xeH(q7o8h(_<|_;T=(^tjbz`%1*27jvs_?Uer9B;Wb!K z%@N#e^bm4hzkcPClDj;LV=gHv>9+grdH=GfE3ua^0$>6EDNR@-Yyv4PGcV7wwSvne zySkbZF0U*rJb5DY%&aWR<0{gy$Izv2sx02!*@+t3Lg|Ru)M2}K4=ygc;T1$r4?eh$ z)$bv+WCb-?loL?`9yTR$54aFG7;VMU+u4zfA?ovDw&|M z6>@OUSD5X~1vp+{@gshkOGrpSyA9Q$dyj{HA4oCq8vrS$U4iJ^b3Ob=XDu3IL+Meeilx@V3N8MxDlwnjg19e~^$b;^NU>dl%~$Q%eVH`|;tc z{uAq8KG-5A-uL3!)TFH~vLclpmp0e7Z18JQeWc`huPJ3tzn5xjqkp>nemCXM4_?Wm zU)%ccnJteF=bTh%uiVZ!!u8INKCG_<`FE$IaeJRn*j2Ld+-$cx>&-)aX>ZPdBu->C z_ARn7+#ZIY37fK2@o)E@B_25wl+aGEo8N1$xIt7ZyV`&M2Fh5fXX2dkbcKm@)3R}z z_wA#hBMhe>o$P;d*Wc8>Px}@La1)5Fy^D#-F}-dmQ-W!>G%P!odpdY@O;(UJGW=PH+ar3bnrt;)R~|K(NU@!Wq6 zhQ7!nPnZeZ+#bLtU5;};Djp6Kkj$dlBR(@=BWqCA3)U+0sBVU~NI!XUlgZc#=2Gx> z7Q1cfj;~MwWS9^XVL98bC2)6Y8+ZoqefI%x0U#)N_S4|%#Z2yz(;WJpmW_B~Y00J# zNAnbIH3Lk^!0^Gu3<`J}kqJI05dT1j3zXaju7|BJjI^eyw6P00P;Jj%)7NZz;==>9?b5l>(!bsV#! z=uf;I+Kz{&N@6HYJn{1vx2eUWZq}c?CaR#$ufP48bxb{_F>ciG6Cs*>L`EELdKt`A&x(jVar;a*k%( z`-IyZRmWH|0~3*51+`_g7Mq2^p?_8?CWJbdJQg-FXxP`!^@Xv~J!}!0-^0Rrlomg4 zQ=;TOM1NtQ{-v%~ye~7bw)ao4+Y)1^aB@-b+hvANX+s&0{KEL`x*P){n#A|wRElny z(nl+8`Bn&2zr^@M=`x#`8&@o#B(Z>n?v5g?pB^P2WH!L34VNQCKOlau+6A4lhC_#Y z)tBcNZb)FSQ#B3j5*lS=w%ouUY%^AZ0cuBCZ`QCC+()7Ce)OeZwgWxUI#%d56V< z7KsKw5-#rUkZq1G_S|v%z8->{oOO7A8S%_kCJ-85j?vyOe%VPr*ZzWV{zKkzl!8s8 zu2v}4)v<)Zq#O1p&aEPHoZZe6OW}hvv+v5`Md4daiyDgfTJ_~<@}=R;X16?EYu!1j zJ7Zu8Jpmc#LOnI0oy*^hx#Hgo{R=iL{41jBP6eBtZH@UDZl4IOge$_}YFF%tqhCis zeGAw1wR;uDVv2DKHmoM&Op`QE$x$BJv@}1MGm%Vj#Q}9&OYg0xykr}e&_GnH8=3TM z>>p;D7rU#rKsPAFmuSIT{4%@nkvVrc@3%J#xLDF99kv|7 z(_f^6;y%mTb{z(y^@%43%-NXUv@^M%HL|w5wp5UK-S$^lQxgxhDP+_l#m9z!J0e=( zJRqsd*d+McXeZ!%1?ETh7riFhBc)iFai9C|k^Y2u;SQR6Dj&HO+VBI$KMzbF2R{0~ z@TD;F$xMU>MmcIYK_*Sz923>|P7%#?*$5RVjC>3iA#ju_e^#-xu}M2P>?ZOZg9-;o zAIzu_Dvq2F5I#pT&C9%y=#xiB$xlzra#F=$24Ax@G(9UY1KJT3?R&&eBR=QzmjK_3&s`ix|bfidA zD%EDExaorn&Qtm8yoSj$hCe++U|ihZtvZN5+rX>0P}ksh-SYG+T1nF0?lZ?FvXH5d z{h|Kxk?SB=R{FpXEpd-+G4a#}Ec{NpEYq;wX<;6FTt9lDm5K*EZK<3(p8NM{>aqz@ z^RV!!$hd~I^_0bJXdcx1O1#sPu;EbtuufHmdDnDOPkhQ|kFWIs4M!q9o`~Vo;Jb#t zL6yBZ(s{#orUz-g=_lVb_9WxCKYbllNFZ>;HuKUhDdYvSVy3L!xGJJ8-cKyaNkkAk z=+KokqQo&dQBSAFwoK8^qBGcAy;7+mzS1@U&+EACkj{&O z-Cm*uLiBf)FhuN(eRC=9Go$;jM`r#dJbdblyM4V=d9u9HkbLdR)_<~>jYYIHp{?Qh zQY!#|ZD&sNSz5oF^HgRL=cy(77(u+jmCrinNVgXnmfOpKpvRH^zC}3cJ6=@M8Osx_ zc}BWxTZ6{M6s&*e6% zZ`$t8EG~f&0S()k<_aY^P_xc6g*ur6jWK-!m57BBWlec z=_s={yH4R7T>7?JQJ&ZC#@|0-p)kCTATpBa*=EzeO^G36C04t;n1<%Dm{Xs-x%%dV z&f7||zIH%?TGr17F6n8#7fp52p9?w@OUiY)I+q*BYUesHQG-+YF^j_3sn2bAsz~Nm7&;HCgRKYVXLQ5+w1vnnV0UX6W9R( znvYAKP<;4rjWC4A7jnWkV0CL@jmi0;qsh1!YO1aGd}qP{GcJCy+hXFU7OBkxl}_k) zV&9E4o!5u_cfS5)C{oCdu}pW0PEYo2VPqnH%`Tv-<^qGcI&tU5v9t7Dt%ho}Yq272>Mf_v?k?cw>k9P_zalb;NJ zC7xRJXzgF^Wn$K`O;g(99&zYf1T>x<4G}EdvikuW`8gJNeN~Ob226dbPINvYvEgh$ zr4_kX;q-z-{8oJAhlsRRzL|;hK%oPdSA%1zC+0_%Ot@6;v9t~8^*H`X!h{re=(f42 z&(YkI_k~?T2s*1icraGkc$GfF|4LUbL4I%HQN``vz}T>wZ-IN(W=MY{( z)`LTpV#Ln5D$>sY8|4y(pTT?icu733P)~d$IagSq4YWOm-hA>bf?3h$^6;;PE$z9x zn?KKMalSnGkM)m?gg_Mp{2RbQ1HAsvZO7iMNY*4&LFj&+JN3YjIip5dSzdnhGv{dR zOz?j<-;#EBZ;7(9$cZHTBH|HVOdGshe!rT>u>+Nh7n+$Yrg2|EG7sk@J&HQJeQOK36r%FE zB}3?2CGlWlAIUYx$(3ZhK!z`aYkNmCM{^mb*D|t-{BasV#T(t$Ro8QtS)yFk`>ZIM zv0Ykqbm-00ErvekcwY%zB`iNW-fAZ$zWV(nVG3jV{cf(xVu{#~xnu3)tgU#fn6>Qy z;hI_Aiw9;bt&?-ts&UN4KiTPVV|)XYI1!JwIAR!R5*slbRnxGG5*V7>oQ=k=!ci>{ z9zo+@M@^k3r`#?RkE{s_>pj&s@{AiRd&+LXA`p*w8B)4we;7YJ|R9lB*R8~=O zhtKJ?^mC>6sj0TShF)N#S5xbA#HnZl1rgqL&2seFvwEyiCtP*k;zckX+?yzFE9!Sxajw)Krg$OmlxtLk+YDoU|%^n6FwO--Ymq_ z^SdJWJCU1o<7xEvsH6$nrpNLWdcJ_JkK-A8MQS}}lqw-XL@?4q7v}lFh^a`oJrWcC zYOk$sT-6`bcnwj#JJG+eTT=e6u-P>|`~lNPFDXRri5it>Ial1Xr67>td~^9Q*Su@3#g1Pg4XaZu3}(GDBwz4TDg`9~H{uV%{01I{H8c zo_=0Z*3ZW?e5${uDsanR`clqG8e?4;Ug&r4W7jOu&|2NSa@nGY9-{JI3K!PDV6-C` z!Dyx0GI2Fx{!w{gnqFS;Tv*#Mz*92ITXFrXv&d&I3;@6Z`_)OpD5DdoVGHeIcN4#bpn6sKM(=ob>KO6rR z{AbifJtbJEZ)1d~7azFadANy77(h+sb&j5i zTS#8q>CCGmaEy)eCh5l8SKvd;=0|{^S@Qin& z<6vQFDfq8}chm?=QVXx^x@N>VT|#_(W=;;)-d>h>V{|YuXsc>!9Al#$w3~yP=~ZqeAu( zFOUPOaO|_dC3~N!K2?Jdxtw;8Yc~B3Z`9SqNDY+WnQ-=9bz(YK31uq|u~=nIPl8kTbCD%hE0n)=RZOlkg5lwOTIhQJOjmLHu?y ziRiI3cQQAByYEezS%&JZN5Xlm1ik*~$5@D`N5!M|s3$V{3Vu{Uh03-2cqmpObp<_E zHL!(h3XKosvE>x;UGIn*{5Ge2DG6F^5%F$U zdT}A`@y`AMv7^v!zkY9VA3ZPu-=d(v2Hr))Rw;-cJN3tO3oo|8b_aIz^4us{kOKkm zi5OC_6S#N#=52CvJ+7@V|<)~0|R#Z_5h6D!OG2J@ny$2D~5P2jcjp#vw z?m_=>bo^G3A%_O;0;J)lTe<5fq>2O}kbq2n49o&NvQ=_a6jD-BP&LVXeY@}S^OJzq z13ftvqmp{My1T$!<2Rs1Zu?{-$TITtJ0r_`kRvX5DopHtiEF^_*~!@%!sciXyce~c zT96S9$h1dA1Sd5%Hnx>iDgM8vNkJZQ?v0_dUmMb6W&(czVfS7a`@5nqN?zkYV`-Ug z*NdyE0v(M1n2k?Afl*?2eF@ED^Hq2`ol3A zu6SRnE`x6ExMlyqFAq;=TR^Qq=lT_EUS(ii*tQ@=FJsOvxS)1NbG}`qU{|^IHk0(^ zZO|C~tNmyQ!MVU$AC#m{6BwM3`EB8REP2-4dR%HMjhm;_LP}4YpxVp@^+odj+YZM( zi|yPaA>w>e^Dn%=*%qefEsaQ+xL>j;65AH4@*G|uN(%zsEBTwPa`Z6>?_1wZ1~~_Oiy@~8O<^)b8=W?Ziu5LJ7bBG{KSXIOCmhAe+-u^!FQlz5F4e+f|1j}opHuT^;rRT&DZ?ztn4o zjmb+kr?D?=zCdlt%J|@D*D<(DG$T@~+FyY1C%A|dygtQDP_k}bDB4@BQyje>mq{d1 zi79XSc>|mb{yP#8Ig&G>52}f8{2<=+@sprSO+|kY5lj$;`qR`uqH$?QF2+wilC<>n z#AMN`jyVMsm)Yi=;I*5W>C|;UF9A-SsRSE9& z=$3ba#D3dR>byNgwJCiPoxru-UNb1BJ~|e7W;eKVxjro>HM;bhs_5WEYxAC<-$TNZ z5A!+IgmY`}G#$2g)ywY~6>aKT^DxvqE+%Pu$qP58I^}%Bf+2q!JPRRx-TwpdzTUg}E9#7c+la_C36hk(yLl7GZ8F+V~%mXauuKMhR z`2_`ljj?p3jt8ao@(q2)loRx9MU+;i$uhlRr&yYiGy4KcogK z;1yKqCXRP3a`W>8fg{r<^%Ii6@UNn+-1!W8Uj(`g^m6fxVcFQQK6I@7ud{i-YsE)KM1!y)^fTQ8pE8c&TeN?4%^Ss~ zJ5_|RI@#5|5r1V(-5}{sD;jiz{|;)=PC3@zLEvp{&v+6Se_H`J7n6TjQu7nIzC!ub zIf(gCa-loj1wZ>YgX8afSM!b;px{CDlh1sWjL0^?xyNn!OQvh44PJ$q(nKC>YF$OH zeWknjWj3ev&42JeeP*BDtLmS1sN)bNH?`A<8TfI@5>JF(VQ4oZx%kLu{oWc8=3D10w$dM4r@k*daXiL| z5!9LXuCQAqblu8Nf5nhzoI`>(wzajcQFf$J=s@Es?LeHE&Ng%}Vd1!4)%f)9%)Hf0 ziMRR$#+xcq9}QxkN_4Cl#cKmR+_(At`os_WaDrjp4-3)1PEAA~I9K(1;$f0V=VOOr zWaW!jeX{HgidU}36#P-4H&W{@j2+l?d*yw=%+E?~={)NCQSJ{NU$hE1tpbd=kg1&> zdq0zY;%h%+m|dSeLrYQy$8vlN_?^V*`tFR?z#W5)jr~S}x#V|o60TyLPPNlrXoWN0 z^M$k{fCZu=JOKP`6KjO67zZ)8%BmtOE~LGM^En|nAc(>qFWjMnIa-gIB2)by*r$>8 zv`EPh4v)vx=?WuR1ZTqzn8{pRT{B8b2IkKjXoqus&Gihv8m zLaub$j;H92I=Z?{CLh784f!hpyb4kE{{5FeVsPT=yf=Au19|N1>>ONOX)8C9vI7~9 z`Tpk=^lQH0{D)qle?mtUR6NT!D1n`jAQ9srUn#boRrCXc(07-~ukoMo_~MfjQL)*q zcCFb<`S=#S&Q1IU?x?a~?32ewl}JIl@O=y+-HYg%!W5hvF+p^xRM(v|5efX2SugpA zzP*hye?&I>;cGjC>Da6q_jcW6OoK@XdI<9n+8vdf>{>?ww1hLpsIx zU924Kx~mc8@;#P`PzGm3pH7SvqA&Q3Nkbyrq66<(kNNDe^C2md-z+SbKhq?HFGpEO zWxcA}JTf}}WM;bIlJB*Ls7~iy`S)|z#7+{AIV?D%S@`O=SzSsMfe%@EPU~TG1jIvx z)Ro*0d2fcK6mZk`A2H|2$LNGwpDEvpw zO2@GA@MuaOf`^uXR#brNg_C>?T^rO_Sz6mrftw19F*TxA|GY$tHF>^*#+;*?T9W8r zQVr^i&&gb9S=bLC2mlZODz}0S)bO!jkSfCPc~XS#>}oU8blJ}wu; zl2Wde%s6kot7o@DQ&=p7H_H8#eU~ccW~HNGjMZMXQlaDRFi?C;u5_gQE>t#`^|-ac`@5N{Rnyi?FZ z*>=;)^LqG50DbfT$D692E}hJvRUTvQBg2SBy2FL*ywB)AIo6b(gPTo#_`ax*N;Lw0 zMQgoP((fK0d1&?Lhqw~uigO*qa&XclLc;=IB6szhnS(Pn-RG@n~AGSVcI!r(se6ec5J@O5OY;hdmrC-nYy>xEBjSKqB+~|u|6G3_1WwrlbLD} zZ+;5n?VwnFUkp*S@{Z&z2RiJ)>AHmVw2jpfjZ&Sckbh*7oYY{vV$D`w|@A2a9%4V^mln;SBKIF!1(b!~fmCrL zrd-N`?$D3XzS8F@)rXw#$j#Xu7IFm z)Y&8~auI!ClAj=cs*E_Q$WlJ0l;5?XhAp$zYr-p22$!>@D;POAR|ZnxC>U+_;ixj5}IBM z90uNLC^LOtM2tthl~ZXjNpx{FHy)+P%E#P9DdOR}&CQv5QwYl}x#N;J7E&Zz$xK!H zy0|Dh2~8xQ%o4q*KhodM!kuyWRe} zf_QLcU}m=cVg8rR><79FPN>aGfAlIQvuq#95SBA$y<50R$a}~FYlD>B`-ln8m8a7x zehiU0CM(O`GA$%an)Y%;shFSfID|&fQf-tB1{s0trW0+fPmvSCvmboKN&(#n|e; z9$Y^h{gfPY%+Hlko?}0O)2r%XI(}Q3a5sy_InL!K(qD1EL|_~Y%6K6MxZ5gEM8d`N zc$@p{oCkT8ne^muUApmA(}t=<%Zurb+%fs=y#HoaHLx|fLP=+>dNk8H@lop>lk|LO zmk|HNpq`T4Vbe=PL&9tgOGm;(vHr2KFbHgO=v73Hc$)R5gn`7IJ8U&xLaoC4>K8gp z3{h)Tn!uL?R4O;O7iX8HLa6xLp~NkE`WSd#@?z}E1p)8~_!-Sh(bM6DaLuDj^Uyuy;N}k1=c@E5 z9nyPI>&6Ks9Wdom)N?`RDXXBMD^f5tr>cqqewrfn5=_m^ejyMcBga7c`1MRpqRm5) z7zLv05PnJ6^W0(i9?$pR13KU6xl(-9O%Ohswz?Um)RoqlH99?z-Sp3p7HRpHhQlds zr{QxtL{(R98T;I(5+#ZBQ0Lsuu;m3~OoYF^{<~{E30w%NOAYJ)8ZW!nXmxYXV3K^| zgWeay(d6wf_RgICf~G`EB>sESyD4)+lgChz^?V28Ju}L#$FQk*0!YUKT{3J9_9G;-kl>G0R3CPJz znn$)y20QpIwx0f)m?p62Hh6;u+H~YY{|`Ia49PsgPI;7ro-dQs*H`-{Q`aah4$jBC z{`KN3#;s~T#c+SnMfc!>If6EwZE;*nlb!1s!d6&yx3YM1lJP-+0|_1`gP&df@5E2i z`TxEsOixY(JIQvvJAMi$D^{V^FIgxc*9az@@$m}2I&FOzQU8!Q`o=VfE~5EH35_}EX?1Uo|=k+0OxqH z49dOx_gi4v{_TPBYbfs-BcMxp)OS3)GvHi+Xak!+GO3CQM^Gq{`W|~Qps^yLk~;0k zGvt?9X|c=N0I#V-!pDzI?d_otaEs@DcXkFA6l^5svviw+x*v0>H^`P>+TJ zOSB3gs*AB8?GBLyfV+UpcHoNk@4!GH6uc4r$1CJ~A6P^Hr7@qJxVHQCU!zwi_Zx#$ z0&7*<7Ay=)3U+5A6oatO0Xyar*mT|}nJl1EA3I5E)fLm4|LbZ7`DN&$1D3*33V6m1 zVUyhW@c)Br*5=fLT(`!XXqLVCnEOZj{9BxR2|{zlUFmZ@foQ9g0|zlGMZ0gnZJmB5 z?lH{qJ@p@%Ds69YXeGMgmN!A)l^ssjoz@~ZK2)!**RUoreTj8%0euv^#87nC+rXQN zPV}7iLF!c4q}u}Z6KVoNZaI~fvAb$>&F{lz@dt_66#3c~J+eDTxix>0&!={D?G7KD z&vBJdFB!_2)~pz@Z5)nxx#aDnkUomT{H>XDZ$UpE-Oa~K7AL8OXv-?!{@X`-f;^)l zpO4In`nlf`om*mi7tKt$+naASnSZ4(cen1z3z>L6rqHRx885;nV|kK0<|V2T@m)1P z*T(W0*vfQBhIVH8op3s{J8& zR{{Ow?A)7hO@g??!?g~gU1o7{?5(E>J!UO4GxRTBbPG_^bwU}8!^O$oQ(HZ--+(a! zeErC+%-Gl%bPm0X{3_KC=Lrj4nt?UcN>H9vG?ie+@0@dgKR4=kPsV>i!)0SNc=E6- z2@DKGd`z|Hg25)Ypg_jjx`5JJFB%XbK8M5FStY9jYc30S*4h6fWim-hrp2;a+W(31KmY%+ zFb1tkqR;Hh*B$Foh&CEJx1O=cnYS|y-^()UsnvXHu>8;Fm>27<9(&XxN8@>+e;=Bc zcqZ~L6BH`*$+>-8iR|g?Q0fC(Gf!|%wu29M9ZFi{@3QVbL}2~i_|7|S7MRLfaaSrh zCvbUAs&OVln{FnAPL}(DlpwC*mT$D%&m%oXMcR+`Ls-ray6}DIeD5BksQ-1o!R||q z^s|uOiRNdoHT8JlOQ@A{a?`R0p)%yb@qi8|^=+wA`Y--l&lr}c4Mz9LLz}|n%Wpc8 zb}=qmp`ch_WH}o5ljv-dTkeG>BpCz+)&?*;X3X`f%q_0lSR4+8s^(b`K-#CEQiD&q zbSR_YOe9KW^q|E~9HLHk0+kQD7v_T5I)wk7w0Q7Hx{c1Z7vhoQomMZQGZDJUlurJv z9Li8~UNKS#?JP@Ny7%?3>bIXS*aaWTy)i8|%d6z;@#MqC^P}tK9}*u{+eBBJn?2;I zcU_DcguEj>$&BZiY9(NE^2b6TQP}Yg(?3~YLNRwdjqu27gX03)Ga!eUrnMM|pkpD) z@f;&b88c6_bF>ZwYQP4W)lJS!Oi)9nGV5kYRc)=w)x~LKL=E_^fCOaHN~L)3_8krm zJUE1r;h{7HSnzSqvO}e$q6&u)lio#@9fZACS63fu5Z8awyM%=Xlx^{G(Rq0v-(`T# znJ5oEFzSH$ptZI2kHhPh!T$amu?lZNXp&n-n#RF^4KF~-q@O@zN8;F{*paRYUf8B6 zWFH)-Q6g1C2vsr0Dp;f=B_{~2dwP1psVwUgx=l}?&MQ=2pYT7)(220Le3dvp^@P}| zaNI)tS2Jlsyi|8GHR+f9 zBlV>u=KEdErlouBf~C7VQMe8=Pa{C0ex=tYvf9zip~;vWn!v(=(C%mqxR4{NFq?q%szy*Wa}w1m~D24Wzedx`!B{4{x-e7cA` z*pn;tL4y(gK{M?=A#d%|ShLcYn;9?J7SM0BR^2NyS;nm6wZx(6nVeBbT3knKe*ffS zso7{}8UDg8)ymXJId1t+DWXCNrf7x}BKH!?7uI~SioM$1t2CeCawSKFvLY5X7xZ?O zJ72$(PaNK0Id~iMZoE4`qmnFm>R^Jmn*yd_MPf_*=kAl=WE4p!U%W+eL-mqsCkPU3&4`XKVFby#RCX;sfy>-tquC0yDTL4X^ zq}tn8npwj4)xdL!RPM>ejfWg$Ow7!0_qt`=-QB@+7rFkbwyf+nR8X4iE7ReF8_Q!o zFNdPQ1Ac7K()-Ny#qod=^PJ~#&LGl43cs$5Hkl1P4X~FB#lW?jiJXW-Mo$2o01@}d zp0MPVZ*_G(t)kFnihj|X9^--%IC@IHjjnuWimez@5{^uJ{*AIFR=2TV*<7>rFq81XQ$vEhJ; z+|;HQbfJTzqs-jg->^QE2e0Hqv;#w?|7khfPt$rvgZ!6MFmV<_SK3*W5do($k6I}W z{^Z+jHMP)h{gOIP3Dzi-t!u>c^D-r&OB1|BQ*l`E>ic`Gd)Dq93>W4;r@}RUmclw4%EoQ zMr0!{HdDipM}&)vE7NtFOGS|CllHv@(IE8W)P~5NuF{M~S@F+1q~Te(bS;gnoFSp3 z7k@Y9`S^t)PYwA12%b9MM>>Fg#3f0J4N`E2r(YPk_AevgK|>5mN~t!%`X zwmlZB52m6NR`;`5@vH9eOP%im96S;i4I~fbZmzSdrOW}*-#%og-Rj!2pfpt@#rcd-^%7D)lS=WWw3L~Hqe&c(7#5=A( z0^ecCM3=*eJ{HwDt8yt})Q$-nW@Q5e6STW18pR4DAUi2a(+Dh@RjS?nt2 zwrMof*$d5Zetv$DhD>tQc&FJ$&z~a+KTC8nd4opH{c4V1EB;ud^vxTcAK;(7?B0A; zIlP8H>UKn>)mV-O^8?X-)yZXk(#iT-`L6S;k#CC$;aWNEhW_HgjoYFaQK~U(b5|!< zZTPunkf{s4o_CP>)_7!-yJ$6^B3;qoO3li4;=>76ACgcodg&_r%Oxm!ce)@}? zbbBRB!sTfZrquFs%fq-tlH2cO2&LW#k@bXzPK~0;kMH8)6+an`1Hv=L@9R)RE4xT;x4Y>e=DXVZ^l=#(N&a}NB!o@ zhBp;5k`dzo>nZ5(V-OZj++!)s%gfu{-!~S}O8_AQ10zZYosEkt1n$8teACbYFhPL? zjJUjb!9lj%mrhu$)4f`kg%bj@$j6T#dA1AElag??n z1L;#;2i7h~mO^!Pb1&+#Aro>$L1y<1`W*gEMhZ}9!0Z$75CzImbYpDqf%OndDqmfA zVWI$qIwXs!wC_9%KjcEA=)e06C&H(k_U#{ocCyMQMhD0H5Vs&RC!0?_OaMk=aG23I`RBPD~z*C9!u<@{i4x?oCwWxZ$0 zv{$BRH@-aQvw>rQ_xaW}C)2BtoZ=JrTFg`@R|2C<-ft4=28OEx+m|f9hXoTU>NA!R zkGa(@svK!0UzFo9s>YY{%oPbI&e@D#Uug1QzS!muO-a^zPIz-XlrRL3wQ6F2jZ?2- z=qRdV?_Q{E*@RRvHd%ZXp)Td&>L=mBIJu3KD$6#(r+g<<2_w2T@wQKZFrX0k`XHkc zoF{*Oyp(|?E|cUCl0?vzz%38SpRA*@Ecll0hHcDD1?NS1`4Fw$)V}S)^_Op7P4DG-oj$_U7!;Pi_n7w zhc)wXG(h#W*x%(EN+`dtx~v^p^>pm0S`h z^p#I`xu}Gsq#us;%qiJvc~24P?p~#<^WGXs!7SUW?N>($s*oAmjCVc z^*Hyh>&Ap~`MufLLKsY5J>WX=86Y`%*?Lo7(jc8$!2ahgvNr{Z40EgQCmZv+@w%qvbG<}I}JX$2lX(=rA;0dHH6|6{`2)mu?I?p|1F zU8A9x*~PnMf4otTdVJ~T+=dWZH(v_<_^mv#p>xw-4-0*aQ1|bJzLd|hTjg0zhojgH z-{~5!Aga?XF=eg-J5|Jp;Qb=!OW$|LUs?6;4SPO7=dj9Z*o^LapO@ET!r7rt51}Cc zNmfEy;sX2jvX(|szC3;YZk;awPoMc11HzFFz*469&U~BIL1QlRRBDgRzcfl~ zgUIol`PqGS7J5mF0X6V|Lf$(oa~r64n5|`dcQ`rmK{_z8k%WaPNTtyV=x`B1qJI|$ zJw61cUuZyv|3!uy%fRg>?6J$><8YaJs`C3Q00E+Gwpnb`WzbDpq6I$fTqFyLv}}RZwS!EKC*pF{>tjEu1urmHLOYKibC|~W8TEqj|)AU^y*o{iZ8zL7pV_XMl`DFzcaz5Z@H7s zQzW-5X{Xh(x1JrO<2ip{-=5ztaG9&5#r)Y$3szpiEPGj-&EGbbW5;hx*m%r>L`I4l zp(j-2x3j}*I38j1#x!7kx9+L^GVmJ-=5*5&Bf*ei%lK&L@y^TQqYZgsFM zN0P8A3(Yiq0vj+9dUNjOFTl$}r~NH@DZemmup~jHE=-XS`hmc?th98%i;cg3|F#Sc ze&Bry4&|>oIZSu%psJF6e@)E>U?3#a#q@4{g_BGkM0?EBeM6?F#q_>W;$Z@!fX7S1 z+R{=Q*e!rN`&A{OCG}rkH&j{jWxd#jTzU&c%e!?e4IRw(Cy}Tj;A8>HD6+@%K7epx z(*i17BdX&)=&@=2Kc3zKs>~saej*}kV)l(CjhgX^5B=5p& zx$tG+SZ1g|Q8Sw^bi^xQ9Dyn6w-oVa*s!%k;80Y8QiMp!+s6F->@xjCQIe7af3a&A z4J*)EI`W<-eSEQnL4=iRRi0O{ymfN^p6!G08r%JXAgsvrD*`y$2-Axm-D}kNJdsXE zjsBkc0SGpdarRmAdI=^n0Me`W&{*S|xiL#Bt1Io>W*W+7b*Jqx;5h9%Q5lQZz^=y`~mu@28n z-lfRJs>^Il^Qni)K2|r#>h|=zKY@`aL&?Zc81(UpLLPt843FYhOI)WvAI)PnJOF_f z(iTS2Wj7#oQ0^M~LGpvEPgcQp)y9%F8*i>cJ*e*4xw-setA%h$YlH48DB_9gyZv4T z3R3#^U03&fz|Ukp68Ujp)dGx`5Sy4&fr@w_@MQJT(E{%t zoY*c4$9^<)2*8UByLWA{gpx@hGgLkhU0loy5j5KeMHx^(iuPef_50q1S0#Fy`b6TL zN)EQ{zZ5vQQ&3OInocY%a8hoWi}jq}?+aSsQ}1NiujS7#naa8yk(!;*2X#9m zeJ=K$!>6R?3u9Y(I!qBMarV6IE65hPcaB58E=V?w*EocpQqeNe_dhaDb&`q-_uaw$ z_|ENzSnj4JMstE<%ei)e-OiCnw+aEO7f-K)iNd;0mGPuOXY~2k{`x6r0Ucc&BD13~ zoh!I0ht)nlIHcfpBf#+KT zL>M4cTC9(JAt(6o<>*bfWn8!AhX=tIHFIn*QfdJK6%FFlv-I)vgM=aT9h$?*pu1uz zF+;t*z`6pyP;4FIWim@U`$N(bUV)I$pFiuR(TBBQz*E+_iM|fPPJIuWC*c_ps7faT zy%fqPVdPqFeD~4y_bM%`fBHUZ@FZG*w2wd_OqWsM1%UTy3Do|UO#I@^9Si~gD9rQ_ z&=%PFRUV4VGe+%)e*Sdp@_c%S25pK)c{V}InrsHbkbC7HeQa}G?RdEf!~dH=$O6`I z-Q}*#BKM(KU~gfsnMlLHq}q`8nAAUgl>mJ^Y|PQLqawJ!`yplwI)oYSUjw z-k|yf66YGG&}C8&M07ZjQYu}s(%0sg5t}%6l2!oxplVK<^0=H7_oFn=eEwB`xc|QP zmrj<<=i=~L=|fps-R7oqeFtuq^S?@5Qb)L?qtwLrxl?`_oAcL6eh<3cZuqSHIE~Gr zd2(2Mx3%M(I_*eVNjTua24;QQH%eonwg)&JVjME9?zvIVj^1U;YB?U2Mo|Zg6FSz0 z$$a>vlRq!@HCQ}&lfDi@0stBix~##!TeZ`^_lCbj*RS{0Ey3ELie-w<@cf0)8>O`3r-92rBbZzNcJ5?E3!(}#4gGk>Sb>dM0eU{k45Ln!-9J7 z8DoZ}Y}(0N8dQgf-v^x>|98@{8DN==wOb3Y>Hid>Qy^&J^bh% zT`)RRyFb6X&=zG~z#<0ky@?U~j6HKuDQz7cEqhI>=hPR}WtClAc)d1JA^ZCajJ^hx z&^86b^Yr}u*YSV1U+8iv1_VeH841jgCzHbebBH$jbSZv=%+Cq%Q0U9IZ*g(K?1M91 zbI?G`ng`BTuysYHFos_5r6n8qBpUXX^9$`O4>V`R@SDf0(!bmC@T!DI%R&t)DIpGQA|uv(&oOd6SCo(ttuXoHG=p^!yn>C*4tgtdnKw!Bew zA$z|i{=+xwM67@*jz!}%esNq14*1t{iiCc5JsX;i8E+H~&HN|jvhw~Rg^%yVeN^N& z&x2hPEJ$bj{OW12B^Q(tQ6NM_b(oR1be=cfMp24T2^nJgQ8)M;zH++7>l_+gh!Gs% z&TUSWEPu~widqR@kJXK!{3&%kuWx?|upHM2Ka>z)4XJM{yL`pNSgsJ%8vCtd z^AYvtd5Y;lDB3swOzTxFuaS&(U|L)+2LTsJ+VhoC?mYhZKJEpL=bu0LMiOhpleKPU zYN4E_O*M-)T1SsOvPFg-|6;lAiW_+y4@sAr`dm`Vs)sTaJ6BAtb7D+tp+edCHKnhptmE%;!dD2o12c$xd?HsC5PCBA@Hv!NG`Us*>+XupQN5{tihbP+llY|YaSoF950582&4v^*9AI=Ibq*qlP zRi)j11nkmR@PY*&95ViIZ_C64J=ozMSOi{!)DGNwwcxV(;>AKC?`eVGhi|DX%gfR{ ziE}h?Yy{K=lu?EBRMwN^+>X%s2Eqa#|LV+h!M6YCdE2atlT6^KIP>5m+nD`Jt8iF| zpeEY8VC&hfK3&!8@M8FWtEly#OQWp2^39qXlGLSv;2jV8u#c6RTtW^{7te*^i__Ih z{FM$h({KBQVJg{QLG!76PR@=wI*z_LW1d*lw^(}lr_X4= ztaYwVk;@rgJU_eND|$w#;J8|f^0^~{`}yi6o<(ul2RnTMD>2bbvnx1uZ=g|w?? z2jm-X-t_C_d2}X~<}&2IuDLN^qR3OSPJ+k8!_`?<+|*%Fcg$AaNFgD_$Y`GBx?YOh z>&%?69sSUc#}d1F6co|p_Fy!C!0%1!z7<6xlKfPrX<*ubfBNYpCD=bqTO(X1Qt{94 ze^Jr=lCICRtIOIR``F9>!6S)ZA9)8c7eAoT&1`JEyLvr2 zifzCYZfkGPFpk%j3uZ?JcXt7>uGw@>T5tmW4j!Jde_xtha38O7fWC+oGG8V8$A=tb zBq~nzdt)de5s{Oar#H?=bzm*Q?Gbp~FObMshp+{M1%wDpRJx$fyhqvP3Ix(%IyNKt zK1kK zO(#D{YcA^aC~5V4XX^?09pg_W1XMYJ6Uku3a=EbM?Pux1M)q{>Tvh_PFQy6qx3X3; z`SgS%8A9aOOuGGn-)3=t*XQu7TDLz7^{`=Z?WR8GY<;s}^T<4S^z@yl?)-Ia*b}<) z#uvI?I|dlWg;>*6*87%f&>2T2;cApN=ye6$4XDC^>G-_QuvC^SCHv8MFmev(-0R6{ z1C?Ch^db8z#xiSFk1hWhe@_yK1L|;ig~m%-g2J*{r}a{U*GR$B#$*SRFENtDb;!rZ zT*A=tU(wB*MyG>WS=JMePBL~WW7A&JnKNSYW?X}rQvx>J0kW%8TJEp1Am}B;OXNA6%OY@~zqQ>Y`ann3;`54w6tYTewzc4OA`bE0Nm2C)uSPdi(nq zM+x$s4R%uQju;|qxFYZ&jJT<<;IffT!i5e_@Icq6^Dee{43>ybVxCvvx>q6G8Wj~K z55p)Y0ojf9b%+nlZ*M!h)!wvobd-nrm`;(Q==SVZF0eY$9f~E+Gh&mg`oL{v#$ARK zA)Lhc_w|ix-NId)eB9wVfW~AQXJ?+RiDTHgcXnfJk13G*d6fp6mum<0CLQVX3B0}-$0a>*_Wv9 z>1vDHy~c-eyX_}|?JABMzJAh<#l;C`OPSt?BV86iLX`eldvu(QDiZdP$>Pq8BJz3Y zJzZrm9LXD5Z2BuBcDL>>5|Uv^Q?uyc`|4bNSl6iARFrlnfN)M;^+BVeyW4DsmaTJs*K7gH=o?uApv6`Nj%yQX9$GH@B zkzu@$TQ-H+Jga(n#1f4+Rb*v8W@EAl#_-H<( z>`mEvkM|v`j3hl0zZlOi0!acJe}mN_z;xJ_G0S$_kfS>s>{5wT6iEF%5~?CETpWq{&ZXN*Y9;Q zwh0X}$L7a@qKBG{aTy$>KBu98C-@#6v9%+g5D&m{oTgNR@t3UUm5av(+?-)}s|hGeTlnR5sxq@D4H~Yg}yO{dKqw z5&vBwqu9VOdsp3A!R)iEuxBtM;ZdJIj*#IJ7jB_(Y;25C`CgLGzBTJgFo+Sd$jR@5y!fMz?C}_9 zv*NpURGpE_J=5SrlKQk@OhL(%cTR>lLOz1l9N;vI`7ZX$3+1-OH)AEGE_f}IYs%o5 z+nDH-Q}>0HJKeN=6@p?ieZ~5^S>8O)vt(xvTW=)SI&cyLlHZ4=?K?}mmdnp5aCNdh zB&>PBamAcUPb;U*vRZs!ZvH0A<(qvUXmXhdAScOZ$Z`!=kD*dKEuD66=va;78xk3v zQ^&$s8`3u6>nmfn)_x$P-p*^34PgJ0Y|e*Ee4 zTc-&9Uy+F2*6^{$h)zKj`frtYP_E&M8=x}(AGdJWjaUw<6g%a}B-=k|Y$}(+Bmi1v zp$;5;hZ_D>X;29UW-id2)p)KF;J{lk{gCco(tSHhm_n!?b<{Gx1hXpu{9TVW^(F<_ z6j&)hIfrNrAdeOF-~bF^W(tNMs#(V?J&6Lp{z@>QdHw?rE}0;k4W5iFPo7fUsE7zW zAZSA$*$+3`NL)0Gwulc7aX#}Q_~hgWZ+*6X9|?3_02qQ?FwkVO$wUkG6DXq?9;Sktdj+7o7ZwvH_TVDhWUQ=Kp1YhBzU(l6fgE_~l9Oeeu7Qnj=qRHG0%< zoafpKPz$xRvc`&_2WKpqEy2uYAh*n?1Y7iNaGy5 zJ2`j_DkOgI?GN(*1qmH}+^m~m_8SmCz|)mV~7e{=?R2G1q5jEmx_hFY#_+HucoN1qM0J^e<~^ABcE9n=n6Syc%+2oFw$R zDaNZijkM2DlD9O;j2!|txAso5U+L1*lS*|RY?&4pVT+axsPZuGz)KOPBzGl+=iADH zA190#^E?kZWMq%~Sm-zeE7(2=9X}iUFm*qZjS1?$e_gs0`^1CcKmm)mD z4it5NrMJ6V1|qU7e&6dO29`Raz#a-UPVind-8S?KYlk4?EpBdRFHtI1dW_AfYBCVo z0jr!9STqE7Nj@MQqbq2^ZC0W01C>7_Vq%$)fXtpR8s8{&T~b7$1`QOxXn!ezVmvOR zZwEyc9cx`}ZP;+aKv&R%zt^tPV*M&HBLf3DowAddlZ#6%lEsg}QD~}tEFlXJ_DV5K zEdm1)avKsBH=#Wew7WKVm!m}q{ndSlK_&^pc?HD16Bu)<&pqZ$1lp4=(5?4|^! zA2-Cep~VVS<;3`Z8C$t2!*iLu1^#IgJnRG>BbC$Iq2C@rG8Km{iQcJ7LVI&_6HOC@ zU(iCGIyT+`pB6_3aBZ{y57GC}7P$0lCpK#%2Mp1?hlE{q-JQ|fa5@cfz(pe?HS;S= zsP^{~E8Y2oBZ6Ay$K{ji3De%EwATK@`oWLYj1{YkUJ+8}OA*3oMrq=+M&!3=k*~UC zPX0_Chjj^DZagg*%6ObB{aF>$_p_Tc(+*YNDE5Qn{5;lg`AXQ8`N5Lhutw;J+k_De zgd4^+QFc9FmV$#0m@3xquQ?KWs4r(Zu#)+S54Y0SO=0||;hrWM`MzK|?>Qv+vORzR zek({2$V;HY$C|BaD}S>o3+cWe)9;pMb z3XjY?O|&E{YHN<$q0!}>)UTc-r?|LPEoRvSKhJ%PU#N(m0>9PC!um17W)V}l`qf#1 zuf$98cg*Ti3fiiwk3(m&y4>CKT^&*lJUL#uTpTPl@Ay&R@4w=S)9?yYXT|WqAZCBj z!CX>@!qKtgta_ugcT?th2S@W_Ny`HKc5S9Yv{3Dm|J5d$Ue#uN{${Jc#;t}?;msce zqBPt)kJB(PrHlKqN2n3?f7kyMhxusF!gytmTzEW<^c^(w{wZ zD!U{9y>hcs-$rxE@J|;k%tI zXdsKLBG3y8?k1`fySV8>tk4_;5VS~x0Gtp2uX2EgArDtSbfV(8_XtwBa&lqaR?vv9 z2zRlqmMriHWR{n|jZg2&7<@ z!L;(-$ZpU5t^^AiK-0Ql5@nm#1N#KHPk~_du8|5jgD1OfWP3m!9G<*Y4#Za&qgLQQ z;tqkqyScf!=F_JN1@ke!L!i#rceT86$h zI&QoQF+LfOz(u&%pSt(~NS~(gq<-_hy3h)Vr77vnAs#wjC0^O*(XQ;XfEf(Flz3rr z%HQ&p0^dYrfUvx#kzn;C9tY(8qwMZL z>TS<9n+Mk-91}3?HP*MTC@Edf9mO0zOx;}*n)kE9gpawfW=W)EV}L>ts#%+Q!`jMC zXQ}KUvHj|(=%B`ENy02F(C?qFotLgc(k<#qX2X!#w3&~lCO98?oIXdDqquf) z3<;dVOFY+3r?OdM5Jz62O6iRCa+33mze(^pdx%=^N(jSM=!&q&{c^!$KNO_w?X_{lbsVBeUf*rTCX>$4 zl;(IlbZ6Sf$0t2Kz1gzL+0#>S>!J-76mXLmK%$cK=V-WDQeEBkh_~TIZZ5}v@tSGE z(C0`bvK#V2hA~G+UX#T(iM%F?{{E+u6xpqP(of;1z~Wz6T9PvmOob{u>8kC*P=EN| z1fkDUm;*5p5Mtg$@j;T6{pL(<)6bda{goc*vKt&3k>3#PfK?4k7lJjppTd9`Fd60t zN$CfdX9AQ|R11rXvKxj8&j(hQl5A3Cz)AoUCfmyCI-|oDUW)%Yz=_=|EAhxaozs3Z zc=2PdtGAPlii0uQ>gm{$_Z$;6BM76ourzp;TN3oBS{fgnEA9xczvB0`-;D_z0#0=Yebb~{8l>7^rXl_QIoP`O*c^6!#{X;>u5F+rvxKra=Dua%E zwI_Ltj6JpzC!>hiL~C$pSMva=@MWbtISIjrgp`dTw>Wk5XwB$Kj^>Tla?w-OBHl$r zX)7-!8P3h?BQ5pGJxmivGb=`kbm+*2%(}-t+luRzVsUEmG|hv!5MEI62mzlH?z0U|Z1Hg$WVR|VLg zByJ-9c!wy(F@CDgF7Yl?Xehxl5e|?Re}+f zzd-eSbs1PCegAsxz>mz`wKMlbmy3ib9D&11`;Y-qaisNK^+3aINwvk~fiK=xpHUnf zDTjWBCrk=ej8tTtThGf5O@#gWs5A2ZKCyvo%dfJQtNYi>s9My`vGK3^i}*gAU*8}e zF!lD)*nMGAbJYjy4?iTkXO$EBr6V@EtR`l^x$Mb)zsCK~_qFFf#^AWEcHwwNO%{!| zdN?d2rr^lFsT{jjnu%kML^W4moB*No#^tP*5F6wQ3(;QSmNABOVihAkLyTF<@s-E{ zn&0z+@(5w)Pm|NrfZVd>wsN+!Ye5?g{Es&MWkohW0|?3_=s zpe83X%im50XVupFN;hYsr;o%0Nbj(l38E#sT<9WO;EVbkP1x8`c?AXrW{htDohQ2e z7EBEj5@_`sew>EO!MB0i&#Nk5E)p1HhhXD_0B1*&1z#SYmZm}PV!yso>{ftsc=#{8 z4T5L>Kd{g=A;6-w!HPg`(evrRoCmGO3=PTXjR9X8s)+OpJRvd(+gUgXqtKx9ZOhxh z+y-Y?46}FyF#jT|9PPm>1s@TnMVdIruxcm$!#_y{GJr8bzd9P?t^4 z-AMetJu|VP(Dlu_kYAKIpI#W=s(Xs?C<`~q6IYP;j+<L2F62qnJ0uS1nSN9O}9|{y#qQ=Z5a_+7RYX^y1UqM!**O%e+Yzf z>8Hs*Wg)q$DM;RPui5?%Ei=Fkn;o=K95BOn6e18}#6e=e8Nf~M!bT3@-k@xjE=eC| zL=?0|qI58x@e)b|9kG5W0|AAVII6cHb!V`a3&PSVUuO`QwpZpsA zP%(Q$7w3gJ=BCl+{Q44c8iMzQI7$fGUK*7_ZG}YXajA0DtiJuq@-ZZ(1E^#`3Xu&+BiBos$TgAM@ndrsz^=l>{LW|OAKWy za5QafTcgE%IPfxn1Cis@S2uKR%~t=e#^DFz4}Ib4o92=LCb%F(r?)Lr|#~ljpDxT)5MhKU6Osq zf%mx;W9+^Dne<3op8=M)%k4$&(1lI2SgNi+T1FFiA#up22KNW%l-v$9uEOcUbaAr? zmR$B$v8N_ujFH#x^{~+;hf>8YuH%p0a{gFUc|qp)=A*1p0YcvSbbj+i%!@5idZr`6 zjLdU}f9@~;%Cb1-RPB-;KDQ~sKVz-OE~f<)*9ZDo-3+O$>ZksK-cUO`~XHX$&sj_!V>yHyo}P66p6i~so{g1omi@R zHWB$TRBVKLG%MpPq1w|z+ah~~M^21l$#sKIhC(;X<;u@?q%&Nm@e=+`s z@YZpE?&hg-ugR$zHWl|cvQY3Q6sDp2v`-@Wq~AVh-m8^i`&fLwN2 z#7ZhAzdTrqePDjLKB~AX!|_&zHGc4p;hv8KmtNV6pY99Bra+24nGYk21C)ebx%Cjg z5*&+o3~QbPSB@bC2`4m=u!i|Los9*I3=PrNkjY=^L{e$7fb3jq4#5VeQf6N#7i6Ph zz_32j62x~tO5kBU04y(bv@0%7dWy+o$feqAedM<4hkGHkk;0+Z5o?1t0E8T-LsVB6 z?!Tcvh;H85mYMw_8L4qaAgU9`k@To{B1#k4!c~x^*Ksmc^jP!2-jr>A;ZkRy6XKmq zi1uS4;528cg>*8|uiNX#&uT^WEUI{*3RH^*92R7?xI-JmkOWGE#zBt!0hcRSUkW5q z!jc1j%JTQRR-3|AzR2{-KR7#|iJm81`;){>HaV)Yng6||IwxuOs&QAE8fwbxx8a_p zF24{?N84kG{ir)?#dzU~Dy~_JA_tEL9w)qIM`UwcVJDE*XkF00ipBe7!GSYm;CzAL zHJP-f{Vj>G8KsoKZu3%8UWztj)(DfAc6+*6V;MP(%p{{_jhFV5u%orD2!z|_J0Oj1 zp7#vPqSOR}G~%!CdCuCPmJi^NkUhWG6_mWQv0lxzebdj(^F&`GR1{6q0i&< z+cR?B__L$Z3po>VjjW-;v3bqU!wZWYk!Y`yWa8);+R+Pg7uxY5FE2l6ZUXJ?(V?MO zTqcbH(&<0#Pq|vw_7AoolLv2e@DFJ8TqIo=6hxnzL_F82ouErAiC87)r!r#P_CEN- zE3C92s{FiX#T>SVip@0Vf7nmaGXR(@*p~7_I}l`7^1giGqr6h7&+U{(50?l~ztG34 zF=9V4R|En*U`A^upo{1S)cO1QX+psyumYC-3x{lN#f5=c0o<{6C~FKJuqNzkZzsmd zUn}GN4WAH#sW1l_vTe35U)bDq-200G>@)N(pj&BA!+mNK3O$qau&K!^D&oQDTD^w} ztisSy^gm;;xs_wR+i#2`omKki30GW^vU$Fm$bS+mPZ+o_N>7Q8Ot#7qFZbNLnuK{? zBp%Gxw^&j7ex{^RAj!MsC~u|3cIP#NrpYMYdmZdUORW4PE;V*X>bJ z_20~=D=%qS%zQYU8P0@%CchG6l90kT#^l+(lI}OO;pta#-y^f43agG}r>&V^=$p&3 z&SLn3Gv<6%icgYE^9y&wKc@*`wN6vqYrzi6a3&|{yXypMhojr>dEQTl8_VE-p>hr6 zVy*Jd>(QG2`?lMPD#aKhS@7b$5RX*a5dey6;Y5TAj^Sgws@w?-W!P*YZG+6udCBc8sV~S_o9DLQBSG4GHO0` zrt#X=NBtinX;zU>R*~HN_*7sQS8H_G`^h<#I0Mmq(Lf!xhi*KFfe2bb%?@cp#h~4Z#O{d8gJ7X zKet{5^sHT8oNE@09)Ic^&;+2Y^+0Mgq`ER7E(ktR+O#(Ch?07R}NUEdJuLbi4K_kSAZdS2!EOX3j@WX zPcZ;_tO&RO3%-`2qv7c0!a_)*vEQqN9foMdFev3}fgBnPwyhmqy;D4Q+zi}()c$`{WT?v}GH*pzlp zrrDv>lwaZCyfSN?aZq3NzBtbRpbV>%?CZOzPwWzP_d3=(E0u;KSA~N^Ci8`AY9^Mpcv&JM z85@kYlAvf~xkA{~#fk+?fSHfw`p%9iKT=MMlJA|}%9`17GZgb7(X(+*m#Cxc8!goI zBAejEgdx+y{Wdagccz6TP2yLNd95Bah_M8;lP$LH|3*;EHbmo1FdaSbPb2-Fs-Vp zYW?Sq+tUY9vlVt!P9!F$xcN{>irLZtbQ2KbQ1!m$9jkX?*}$P)$T_=O7D))3Maznt zoqy~@c1mypF$$K8yDs8DDKvOWt@r+_r%93UBtCj%inOEUHI9PL)X5{>c;zUZJMiX$ zB}N%Z%U$M^kO#or?zfy23=CIzd3z48)02Tcjm2jka}tZ{{74-Fs?h;7zu{uc%6;7oP?_6Fc1WRPLiILh5aajtMnuQ zbojO3zcaY+etKx#`vDWA&B<8{sC}T6KFj$ZGCUlw>eD65YVwchPT9?r(%@~{T~uJ= zY#Py>y*igz*&=N@bGCMaWLmb{Cy6Hdo}7Nm4S8HFy}HF*j`C0Ks7CS|-?)D%U_Rrl zu^8L;Inh8UHRE{G84{dn`coj+i{+dKwT^C^x|jC4vyPqSw1&IHKG>9q$up`uYoz#*ln@WVzFzd`TJV8uU&9-J+_Q}s6Jv{ z##AM&Qv7V`=YlG=A(xDr88cio(}#&0XPH>=V~UOll9@txm&w_AqQZKUqj_J$h2-%~ z$686<4YNtP;5R*wUncNW4Vv^2yH6*~XKr#Wi!CYUs>sIlzrd2H|JNPD7p)(;{?qyi z_0dzyC)7golYh-`(FC^OGurUgP^AoQcFU4vFxVFMuDYko&N*-`=CxS#-0m_XY-!MU zz0#Mj`a>jg-aPXU(eV>N)|#4yk1Gaf{?qtTMjERqan`}mF0Rf(SHSDi-f=!2cj}Ir z?>v%O`;7)h%_qL&3iX!xf*x&&=3r`d4@qS>1WO(?r%F6rf@Irl78C_X6x@OBMwu#zps)4 z;mX$O`wwdHkVr@{q0ciQzmro?m<^o+As;+SZ2nOId(k(p1JlUz^0MjPV#l$Eg7O2| z405PyKua2E?J*MnkcpWYT-f}({=g~#(lg%X2d;-r2oWeVirn#+KwI5Fbb&<_4PznQ zgP@3kRcJS4e1!z&lw;bq6|l2*hczCw0GDeqq&j01|9t!d z$U6F8e*(4!Ui~4<%a)UVj`u)-M=SACXS;G=^(%iY%22>x^Ic+Ma_O&z*#EU65|#g* zRyVX2a!yS|>*_X+IFTKpEz*m_ZxeU-UOl@0@cQI9v&(}DI%m?VC9mG4kQP&EcOxZ} zPCu=-zTQK{`=f_56>c?-Cph1lAM|1m({@c$k4u{J{`LpQ9_3%7%9FhP`~3+s7=-pm zuh}%BDjU0Xwey{+uGQ^QE!fT9^4O8{U)nBkt`p z?4NIm(ynVP?>^N%zVwpL8f`-e$VFVoz!G*rod&a+J$7*l zTid|2GWB1tcmhs#H?W%`H($W@RND0GgGFnF>vpbKOrQQazPaxw88b?=P??$Lnw9Bm znp~SI+-&o>gGVWdfb}NZarWrOp>3gq(z7npG2zo+*rbta&pXV?&KwVTTfSL+!X-__ z_UBBdXxNsmBIuFW>8c)0(@HS1YkIDWWS18`5M){2t0jmzkVPz;R(((}?keqN-Tcwt z_CAKg7Wu@AfN=zor)d$|Ov-r`QzC(s57=UwBAs0Jg)*-;oJQP9G0aFe%(}`AsdRG* zDx;;Ncu8`I%ml_aqN-s7%YRv6`{0FZwZG zKQ55x+Jw!Yy_pBcSUBk^zphAZ;))ktF(b{z^}e7RP;1!7yHcl~WGK|OWmiJrx2d(( znZ(<{dR&W|Lr`N37X5A(9(}N|*No3y7R(!uqsJVW`tLlnPL%^DJhWF^K^lxtNjZ2JW+a&7GZiz%fDJQO3UNSqufjI)%tI z@tOKFfhl0;Ks*ec2C5MLU`_c-J`@%&pq!vKuXFKqdwreZ1pX{DSYT*1o&XbBMotbJ z`o;nVI59~&T3Rr{#V_OIQ=?Ge{V#k6);DI$ha&4LPL0$Tnz!!nM>dTwxS?HJ=yh7< zIAK0?TrSTl1BqT>P;f`<0q5)gvOKzRYBo&@ijl5M^}oS7>;}4S5swuwU^?l7c-E+v z$8+SDs_*8833uWJd5gm>yEKnZ+xH-BbCHF z%{(zr?7wdZYa=2#Ax z^E*=-$x^0?jrgdtBT`d|JG0+0Q&?*LvPCL9S0Fbn*PVAol~C+1*xr4SoW&hr$b7G5 z3YRa0B@PuCKlbER!&6@oJrk_T)Q@{}1MD`}xQ+UtSO2$a;gZfXr*e*Pc z=5Xm|kRNev%CS8zo-n5FI8?I^a!|9zpls_^Iof8=WH)(l$-gz^ySKf%_8iJqJ}fQa ztI27kg=?E(;}o5iShvzZ)A-GyL*}|0i{Z`2_rxB>^i~~bj8tlNDlpl|Kjd=RYo>N+ z5YBpHOps%2cE4z_d(UF)8EWzJtb~l5mGMSyv0BSP&onF5>T?=k)hminZS; zjun{X-Uw9c-EkJeEOHFM$7E^3jaA#iM{rg|7=LmMm|89)^eUgf`I=!*YKKF|ho=>e zbQO80^*aMqxp2fp>UNc08l}nwOdI&sWsEtXcQr^1MJArCuB^25^=)0f$%G{hZmc5X zhSzdP(gk!S-p z*4EV2pm#5X>+d>az@xO7-qSrheA{ga`N`%mGN}{zGa#sgsu%{BA~Zqg#*G9AYv!w0 zZP*p7s;k2QLIo?r+$fqy zQq5X`i1Tlw*mY}Ckex%n2sr`F)e@h*MU#3I>Hn0(1dFyL=676+N!v0f=96L=(ynrM zjZfCEuUi_;yQ5B)0?SJ!hRRl&y@~XrNmp=5ZhikM+j4k^+EOPYt5D-$pA;cuT7%Eg zN6ffe?B!9FGi_Swb$j)!FfnJVV?IrsHcI0P}=2s20mfo>~rHn(wRGg3}WA0vvPUE40(m5m-3NgPx1GK zj{T3=uU+&7pi*pQR&ySs#%izOM7BQ|E^bjY*9Wv8qtZ=Tn=_m*a!k5kTQwh=d2#MZGY{DH?RQlbqa|-rE?)`7&K6Nf8d;ZfyEMM{pm5Nxccxhn3iampFi# zHV`h|9;VENq46DC=78{1ATO%#+1anA^Y?_=W@`^`ATO{RW-*?|GBl_Nj>x?TP66Ld z>I-!Z*@EG)CmSIwSnL^ix;O-(7^iBO0ka&kX^dPX}4J7S(KQ@e}Hc+{X`psdL7GBurX#TgVi0;@DFnub%=9z&dJ8w zLMGKxWSTrgl-bCMebdNajVIFEkJK<>h4B$zIP*B>vG0Qy#RXE?Ts_*ATFC|#&UMb<*1cgR#9HOwmme9zCm26pcYNc^s;b|k z<6*mwrpA#!HewMtt=ZARag++8I=OeDvzr#;uxdjizH8l^X4XcZOt*OR4e6O`sC-!d zTUv^2*iFD3j-T9jp#YO%y)TuH6Z`@Het$+=&S3cLQW`h~LM0$sVeM2{YC)mL*qDyQ z{&%*fy!@~rFmdwP^fNI@`cXq^pEPY^Cy zWeN%db>X0FK(P}xJ{e2CHHYK)FEqpUvJs z5^1Za0gc{AsN>>^s`dp0^loEmjY$5T=1cA)z9#i4o=xfK^;Rcu-*m0JFLXTVH3o<# z8hPo(64n906W&j_64M(S8vq8_jt>-m{P=NOPNMN^m7MjV^VBO~QR;ti86b6WV&Szj zJCo%ls$ZA@M_VAQ++&D-nTg8sj2>8Ra}-J|9Vmx{2b}2JU?`}esHhk_u>#J~X=h=M zx4$a}{D&z5L;bHo%e|8D-roSjh9m5%(RUTPQg`{@R_7X#HkUDro*kB7L)1vJE3Er2 z2(JpkCd{{S>Z&Wyb`p)pdD*Xk*;&NE%PP=pI%gsc*TTe_0z>r5~-R|4=g46y-B%M(2l8kBqskx(nuR#H+kikFlITQOz}$2)TVV zS}DVpe&w;_M9X%>7@;pFhoVWC`m8$^inm)jkYlxDV7^Y}(lHCKI{r9PYAGg)v95B? zQmu#7^GhM=+irRA*&sZT0ke{s2lsYhL)PT z#HMm<%M<`W+ z!V8#4@+GM%v%g`Xl9$)AgzfjfkdWJyQ}y9@DGfm!nRzJVT|FE(Sv}opvVpm}WSL1~ zPlv{Xb9q3vz%ts}Q#L9X{bAtJ(19woNRkTli`_bYB3m%Z4>A$jnFq-6_H>yW_lsoH zv$J0SD}&#D1XhSbY@!+vC1Gh$R8PA-iXAiiObLViC??T2paaFde?MxmcsSeO56c;* zDmae8er1m6uom!9zXRuE+Tv7VROEQtT{Ph2UQYt|(zlJGjnZ@U%o3(KU^M>;UqJJl zYWj2yrtaTD!0z+o+MJD&Q_rpTiH8&Qe23c8EW87O;}F4L?t{1@7>yG-oh8 zaiiy*tB-rA*OhC|<7al$B%p?{*6;^av0)qPVUncB`)?8Y8R@~Y)aO)_w8QqyIy#9f ze~h|s2tA=;Vf-XQQT(!=a+!v5nM6BIIhL^Te)5m7ThieVBZs-=ZoBwvW+f@UddHUN zP)e#@F+JyMxt>+a;eP*WE=kU>%xe>xG}B>zvS(r0jCfu?y^rZD)z$u87qr7JZt9S^ZRR+<;%%* zRacD$S%!XmSQ?u`A^ZM1fnmHK6_Sjl)i1O%YSdw&{Ec^QEwe+?k>(HCa`6?I0TvLZ)l(qE8bX6GG2Oj%r6Yhy51<#IfHkpLN|Dl$?;TbGtgD6y zOmLaGn+iSCfB}sRObsz06$;&7ERmV;C<{Y6-_UpEy<}O_12i7cfap3+SCfLd}D6Cmb7Pdy~FRbYYHR8p{)4DzC#tb5CTFM{aGXv zY*EhDfBJ;y;^O0nmR{Y}5QM|=@KS=y!omVI&0nWWSlzXoWj%h57<&-zcARTW0qft< z_Y3u>@DpJ>q=zVm1??fa$f{I(F1gnF5gEf|!H6NPhhRAzHR>4qxEi|6 zsVDxP`24TTc#5-6fK=7{ciLJKbQ-82%d&)5W=~awz5Cv}K06xKm9VZTyVn`z9E|AN zI4twux>0prbM?^@kB3>+QS~u_L>1yH%O9$CcDnBjNk2%AQy*PsbW^WB!`+_id%(23 zae10lQJ$Z)kCc-+7UcM4+)CXIKQd-*1&`;^Uy{pb2lfS?{vW?uMId8aw%oH4>}6@^ zvMR4WcKX{yTK%}ET&t)2xA2qsvCl;$T*BkRW&hd^9rYUDw$%|${29hP`YPE>J7B=h z?NL1$tE%Z{yttz=CI7`K!?7&Ecd=Oj(;=xkwqE1tWfYG=&x^bFZF5w<8aJtpX+0u| zpkynzKJ5L99uR^w+8-@E>(l8Ur@~GNLRBAxWC4zE16+!kS(|d{(M>rgp=5vgk;A_M zuh#pErcQ00r>sM;5DuOLF!ZDs^SE{X&y)9|fST3Yv@|j`0Sdo6KSylumzj55 zfeme9$&2wbE64%u9UXfUHfemp7iTQBF)&;Na?bVFtZ=}z1k$jiTM^iM*f=?nJv?=r zQ7qZ^*07M4S5`{hR#f1#&1}twE~VKpL`UrJ@3TDW{kv5?x47q{TZ34jr@$Fvx%2)t zE)i{s-=RIaL!3YRw5kC8BZPz&z3Oh?xzoCF7_nOv<0`@w0E_KlV|*v-S~ixlsw!l_ zBL<{SqrioJ^s-O)&!0`z&+oNeyO_NZLkd^X?m&}YQRoFFrH&0UUt&>EtmGm0TQ44E z=H5qddCa@wwORaJL@T3(TA!#~c=j>%)BhA0GH8gdZCQ_vae5usH}&jw*OtPUgtwxs zuVnrpHE$kkJ6D!f4|R@xG;bH|a8fD|w%bstjk;I)=H&Z5Ja%~j9`Pi*wx3_F7INL5 z>Hqn2i*BYxq2pfC>%R}PYHwLdoO>`E?1>n%YzNv9Chx~&>U{UvN+6<7jK`ARTe!ng zvtq;*P0Eq_zQZK7ZvWk%SsI0S!^b2AD(-quKR${n^_1;diXZ*B{tE881U0c*;0 zWn#vrnYNa#@PP9@um6vwtAL6^Y1Iw2$(?hDGGG{Yjf|k0+MS4B6 zbpE7vi07L>OrwDy!aez%5 z{$SU-W_Ii8?2{p=Rg96f|7%r2N?QbpX!{NH^8C*sX+#;*b7y9Z=V5H;ykHTyD;Li=G6}-Pphau!_iY&+j!rq6n%i~$X7aYe=MQDw(& zACAqj^BNa1F@RBPkQ#W~&1MvQj>;QdA5R+HPU`2zRBh`2cch)JgClJ}$Yo*e+k*am z*EG?S$L2fFDr<^ypIZE=aWPR(G=^1IelsRMmWXza^QQLgV`}66akt|qt|-4}qu^X| z)mW&7Y|7-c$kDBWzLSlj{eaNeSspWU3vuX9h6d3Ctc;YN`?$d9j74?AN(c5!pGHTY>@3sKUAw{e!sxY7BC57T3hF*=liTOAT3L!vwcVXjLGWq`I)5Iz z^es;f{?k`EPPyWe<~oov@1+?>M*MQoZ&W zAnhczkCw`9e)Ju0IwSH48kyGJ=y`*MJ!<$aSoj#+~+l$Og&sz}NOeXZ# zpl3rLF03|xR(~8^qcX+D(bw= z!k?(DyDPeY{zEKoBP0i#jL!K561isI?lF6{p?AlY^HR;-I*ryvD_sEt6X9XUsRHh~ z)VzdEN$N-9Z?JK2kVRsEgoj?I60pIjczB~+d+Ag8w^-Ew=37J2#&kc*0UyH z@o%kXD4h`y*Or&}oiOb=x>f+HZP~&j`*>$ijr8;9PfeERut0h$*x~)$ zV#K0ft@_4Uz`7A9K@w8rAempI5%UM4FY$l>iF?axSk@3g9guSsJT>d4jX-O-Mdwz$ zAHZY*{tJ$ZDy*qNDgVB-Blt0IV&HV8RSj~&W}RQTf^2HYczpKzksgP``uN7O5p?X0 z7_;CI#BJ<@%bPv1%8> zJ9YmUGCO&oHAV41+&OK5b-n)R!f9%GFzl+g`0a(?9AD1!hHvd;=$-Cqk!5DnlP2qs zBE#3Zwx-AofxVimJx^yF>OcBUUyV8S)jwkt2iLY!xyW>tNYaytR+90MB|7vQG8-s~ zwyt`xN5$1E!>Gwur&&1#U4(Y_3PmV&x`mK5a~kogJ&fI>FQ$7}dszs=VdtlFShojH zJjVe?J@3_C<(*wG|Fro#xpp_cw?R*riCD6gK{Cp{Wz?fPK{dRGpy?{Gh?W@H4L`os zY5=iSkQ1Xmvfp2mSU33Fl#ebk>fXn#bSaAL?=H)5G>xgM?*9ml`VjABhA;&i)l||t zTgg=HcYergF4}N19VSji(m7+US#b@>c_1iS@r^8pCDzq^hvIZ4%t)Z2_yLO&^5Z*I zA-GCj^&xKi4R(K{l%*4F?9<-~^6M@eV$gN4gR@?%KC}9&`nk6Dy{)zJdxN;RXf`-k zQ5C+|p?f}Oo5vkD!Aa$jP>sJET;QaEUm7>ils<HqXte{A;byYX9<7*;sNkWOGBwwX-jHF7PBts&P9y&yl zdEXn9r_2zP84O=$Y@hM^<##efO8i2JWkF4@(*20J>V;oj%!G%3rS$8M!a&xo0D4v8 z#BjH(^Bt<`FZ0O7A@LbfB8z^>W7n7ZE%@I>t8hO?;IEuT`tXs_WLL_lWo-?=Ut0?mU<2bY!ww%p&38$yiwp^P&J#p$Tv_W-Mk=hJxi@ z_ML`_iK*~;T~TGe)&x<<=b0@@$J?zjR`54CTa}cRk%4~d+}>uF!RKD8@D@Y`+BR!~ zi4z4Ab8hE~J43C_l?f0MyC9JJxMsklamj5r#RQb<0?$*rtV!6l78OqEOekgOo#$_z ze9=u?PFDbOf~?7nMT^RlnyOZiZ~FV;kcOC;SY6E!0*Hpuw-il1)~V8hR5{=@9yevG zp#wG$R}j&V3`~?j)qZ^G{Xf74G|+$?0Fa+bH@o8V`ke8y`sm4j?Ci1bc4HA@EszN* zh@sPHumvCyGS1RP*;NA|Xmoo+(KYRQ(M=pP@cx~80bk_Zaqalsu+Ga@kN^w13l;uy zsHmu1b%27pc+CHYWrn6azC$1ldP#ylKL5g+^T*eQn%gE)FHV>1tRXfAFKIy|JcW=y zLh$38sb+byDWUU=`?_a|-N&kDQThxOY@6b98(~xHK-|a>{bzcLx5pLlOUEISkBJ&@_KFWjxztQNHW%B*`~YC9hrHFfIH3{cKn8k9p10t4}|+)hxn ztLBMyW!X(O-}=|IEkWgtw^@kA<3Zm^D46I%H{zI6ysk-OVR~E+dBbIS))H_x(>9+i z%P+>&qv7o|<46U)zmnF=p?yZWLbC{zGiQPEl`UVdaS*j1To6)|x2JI$o7Hd4m+xLA z5PSFD>S^Mf{s!%PRbiDMg}^g%v(i^j*UzZ$^X*rf4a7tE?rVi2u_MZcct%Q|Je?Di zZ9NUUeiVrtn;0|lIQ%EH<_tBw+T+IZHy65k&}lT!Dk5WUC?>7d-QG zHbv?)HHmZwmQ6I;f4l7m^EYH9u+HJen0;;L_E#myUi`muqXu9<#ay_T3?I6kRO)P9 zJ%}G-jwTl`gmck^ZEV40Pdd_dofk|vil>Pdfx_0U;W+nC&W!YdlhL%Q3Ptx+J zCVWB*HFh4MYVA(zTQ#1p=+jET;PV@I*SbupQ;k1lxA!pS*d-CPUS4E4zgPPv(iQl9 zPH`Zgta|1(eF*EzN8_96r3Ja)(%s*7bPoKzHqhI2qosO9_^-A#M&8G}!-}qb2LeZ8^^fX#6Qj%R-6lL)xR+asvRS@`78P7Izkl??!h}TwGjtjnOa& zkUhKn@fV<=fNOB0scxsakpLQbNFgJ*@B*-BMDk`C3sTSy2G=oQ&uUF){9gV&E+(cE zJctI_pjK7(mhU5~nW^bIfOHH&e~DJh-WW89ItBp*+W_=51b%-oTeL_$0@^~9Jnr3f zUM81=ap7&F$E`J}5A6bf=cyEJ2?}I*U*P{i_G0SjvZpoQ?^Z0VWWY&h@n?X1AP5X*-F`hwZ-ECA1kxSGxC+C+PijE7`-6l4 zFokcIlvZpesAz+7i$KT|>sZA39mN7)IVaUz9`o#^yv;E!Z^@)!Wc6!Sulv|u*QwRk zy}ijx+cQ^usTht&tV%3IDLOk|a$*4eGaB_KtGYs0*C3-X6EnH*#snOtJEw*VK~8M} zZnc@QA6EJ@3r8|311FuY;47XHi2RJ&Y~Lp?YVsfuG`h2CnirBs zPBI*NRb*-TYsff%%s6jVuW(|gXVZDZ*2C6~FWWZfgG26QbF}!d(7)de;$O)?W?v~Gu(@?1yCusxjl-6 zOUoIqRp{flK6<6gBJOE%rar#bRdFzQq)l_vK7C6Zzs+~EETZjM5q0!oDao^T4C38K zXpvWH{zjAk>r?Q~@lhY+SzxhND);eK$TX|^U3J@!1oURhGO8|zF1IETDh=$(6zmxV zUL_h6mRUyp#-%W^&8wu4ze?18KZKE@#h;AoDqmiU9Nv!``fU6$Y1+!K?$6!0#V6`0 zOMDQ;(awT>)6~u{c_p${Ufxha z=IWteNKiJpI2`_~WntMTn6Xo8T(K}v)H+`aXcGJ-bWOP zJM!a22tK>g^QX#v(|TFDh>c5lOuIR2tcRfh-yPID^Xqv$1fAhBv z2*azIy{80-RgeA8$1ipQ<17E(Gf~NhXR@VVouv!S?w{V<+_EQ;GU$qR<4c~r;8Hz~ z_QyVAEJ@DW@b?UyM;6YDQK~QMaPDL~!H0il%AFb{Te0SVocW+cql0?wMi+7=0NuO1 z_;N|Nz*vT#?B&S|nFk7w8Ue2el(BOpgPL+Cz&`^-1)z|yOv8x9^UfB4z^nQxn)G{@ z!whHtezRLIi<_ApR1*7Ic>v`f{qH;do0Fxv^5>7ZoY9~v>(46)YfVg?HOo;205Ywb zpJ?8_GHI1n6v$$P0LbP@c`Sh21Rxg`ot0S(7XYYa#lEFUL%JzDgON!| z``g>_d+NXt*xfW8M%h-zQ0=Lw3j8X*QQiR(>HfsVXL!k`Lk3()fLC^>@}=)=YkEgl zi){@Je;fQ#?~Fs9gjc#0(S6i;a93}CYYZWpWu5`8g^^K8$~=NT&wyF zTR%>M3MJ&i*%%ZIS!Y+)Zi7uMZ1gpXv0KL1Q7bGf*W7t;qt_VHSrOZDinae3nfUCHWej03BR~nL~#-DlWs6i%S-0!vj$*ICu_-$ z$WmA=lhHn2z*Z2nxq6<2b&rbg;48UfzRy4{ZacZXYkMPG`X)#uWQm@~no}|W0lN)> zfwe_bNu6$cHmgeEzXxA*m?W=TDut{c{hOlPDxE)iNF^1Fo;-%%D_n2f33Q93CGe?hd^s)~ACN8+hPDrj zyF20$Lhe;r^vojsAy`_V;{&g_=Ow}T%pt1!UjuEry&NI-ON~P$SxL?Ov1gMzrobuv zx@iPl(9&DK*9Eg0u7y~Yu0&oR(%%Z?WK@fP7P=oDMn{;04|&$utDBcCY3O$La`T?P z*(RfGF>Q!Z!-mUA>@Jsm92>>`@|7Y__a@C*eyi-*w$)wbQ-n2(-en|@p*%I6&zc** z4{rU(_GMq;=otN`G)fuM2}Ky})xue1UaHgWCV`yz2Hv0-A%&*fW&`;@pa@5qz)F7< zbBS`SvTOI>dfBbUZm>23e^yfZ$rT>&gAVkcJz+{HqTi1_#7Xf4bUbsD5_ZPd5txy3V?>!* zURGtDj00uxda8=OdEkOZJ4;?QhNB2&VxEdE=0W}+dlAS40h8)C16f`oDk{@7CN4qwF=Z?pT9`q+v{(cCZpI05@ zF5QBvVZqCg?FWbRAdtgD^0fdCkUVM(0((3E9ateQ<3)YV0jR@e#un@HDG zEmpE$b=z~gR7`gp*s%vtJu?v53xWFq;N5z6?5jbJ5g@QoCvUZppur&amc<#oAOPRb zX!r_(7PrCfVFZS9BX|vh|;`=HkQ1Ciod&_ml%0(aP6wTU8K0!nEjyw z<0t!u8mf_S6Zt}8U_EC<|DBYF7<^!`^oB^WQ_kO(Xqu%PFH8|zwH;1c$#nL2!RMFE4p-p)_(NL@Ow z>KUIE7FknT*7lR2Re{_{-JKf%7K~nBe27~%#*Z(#gyx6js;?P^x_M+jVCBz#vyNIn zjhKt6n5wy%Y!%`cjW7`KI9x?&p)#6g2+tYx-M{rEQH&Y%NrBQ&VyF`@M$sU`&ngr; zLJ1*6DptDET7dmcgVSkK6Li@V@VD^Rrt~qu{?Rx4$e4ovhx)9Oj#h$bZx_$F!A8bQ zBoLNjNoi{gHlVi-thoiWodmf(A`<8aPp~)+ec4@QjOtDLm48F6%EC~=-u{97wq6w~K9VOdc zcoTpB{sB3G;a_tga?qv~Yi1S}p$674&~XQQ3NXp3@n5^XNGZ}7_RlvKpvpEGm_~uA zatt(Uy#JHTWbn0QIL#r5o#K#R5l%wpZcpG2TrR z{-mik;v(X9TwI*JY~BZk|C2t)$}vJ#r`#PBD#>EBglV5rRw)+!xEbl;x!n#p(#Ojz z>nVHTRPU#yP;cawx$dmNp#3NX=b7lKZ{3g0tx(Z$C?6%!pZ_6C%Sdn4jOdXbc=M&y z^GH=xe@JVz>bS6p+9q5n{X(8_o-}N1w{aK8vZ$qFW&9k<=Xo)uZIAbTSv^GuF#_pa z;#X6*FfaCbk%;iS;7Qc_lL8yNqz-3d`+A)G*`Eqq)*P{TUp8j4opHW3{eu-pnps!8 zKLa#Z2cqZbZ4~9hc*Oy}xi*0+#Y0@Px@Lue{4HPhQmdzSNf`$CU{6ZAoIO4HugH*j zla-s9m>3H^>kpUN^Jm;0xjynxVv&ez%c4v8aIhwA1g|J^Bae%f@jsYH2Z{JiNyK zu$j{?a~F99E6dv}325K=CfmMiDg7@BtnwS!&Y0h;Dy#fLA4D~^ZT`UjUbHl_i~AHI zO-;l$`$x@yIavH}&4DRZT2!JgKhdCStoC^PKc%t5q%pPU$%%i_x%PS=hp=O%O@x54P|B$%S&K zc@^N{S?_iCBTM0{Jw%cq<|(P0f9tHf&P&0ISsY@(cczUft8=_ERfv5Ag;7?BMt;1OofJD0nln(<%=GGT2pw>ja zbOPFJaFb7_)WM#Wnjbuit-<&mA_kN`UrfUm;f_s0~idGouLE(QJzON2Y< zOj)d^3|R_5TM`NgWPxUD@Q+n3ow&AZ16l_lC4fi)lC@qimq|!T@sK?$EOqZ(*R=fl zk+ByacYpv$Kk zHYHY+gr{_v>zj^DOmn8B1&I?v+8XB4lwsHud;zCqNIYeIpf57hh&0xpch5oDM}7kT zihods0*P*XdOGgq)fJFo6z1eWB@LsSrWX_z#-*f40B4s!45D@I zM&QNlP7-5_j{<`iv4C>^wdd14dE&`%q2Ok3-W!+CuB_|IzLgTHXK)uO1)W$wr9;)p z#VAy=6^EkD(wlZL!gG-kPh5&v952$7IAgisxr=*Eb^>B*C!u1or5#%*atlUsv`}CzKw|ul&7<_uIFn zJAjMn5#5JHoI%aAz86&E*)W4^B|8df^wtpA;v5Elm( zeEG6Z76&_fLy-lfO_MtV$OpmC6cl$E8XL!^qzpzA38{-*{D;fzJ=T!A=a28=x=j}z z-108Etq7s&ABm5 znf&}Nde5(-w5VtuoZrCrdNoynr=+ApD-Xbb=OK@=jL!IEC=5E#4M zar?7&<&(yJ&A+$U%T6cOF4oKUw9@7o>tlOYkgzF`R}O+}JUbj{5K2FF?g*`ekq)n}Hl$fwE`D{Z`MH2I-fJnq&NeAi68p<$!vPQ3L? zqF`d~{M3JUhJfb>Aq<9pvjy?gwLp9iFm#24h8`Z7!svmS9!T8y&V7J1)nx_U6R8q- z-<7ot*wf@G(LhZEFiyTPVlfM20ELvexw*yT7eK|z$|8Uj0e*gps;c53{@af*d%_e%C?l9c0hQpt zv$c*D_6Q*0wPeqmFqNf|**1i@rN5V}qu=S|d^-;kcp})}vt@Um7%OYel1QHK* ztD|f8!O_uArci*KDyW&X=_sB$0OiN<|9cW($z&q4%&Ehjf=+HoLcQQSmmfg#Yk!cR zl&eJDd{|Nnp{X9BZ}AK2>f()t6RXWq%X-6zq9r#j(x@^U#q`N{f*p zSF`xZaD+czQ_USeM#-)}dB06baX%!l1;N)4$&AhKdr)lp6unkBbpRp0;4x@TXQ)2E z^wz5Koe0N-o)1nRVI?i|{Ep{w!Qbc|_a-i^!1v(f?Cvau%4&P;YLO-;`kGHnHu5KX z|8pNXDHA1k;56gg)B;(hgp~og8LqO*F+DLaBK+#-Jx?DkT9aM`W9Keg=B~}R!xrY| zcQ;Em_u#X*64CkqB^)GAW6-Mp0kOdv(yuNaZPFf3GG$}4MkKBxn+QTE_PC{ zoN2?o$ck@+a1N>1v8b$A6^%d}X|23Lt-@Iq%tZ;N;Hgmb<4Jqz+>T#(`yC+EBhx+-f50<}+!e}c&wMIbx zg%G{)+<~Gp6@ZkHI_N*u&>zoz2d4Rv*zeN^k{-%N2-{pS^c9YA$h z<#?cQb8P1G_skW%bAhb|B1!k%76Qd;MlLHFf{g_DZY(6Z)+hh=4iF%BmQ~Hs5;+b< zZSx)yab(grx#K~E7lmSxGK`Ezv36kVD^o$Oboaz}X0_Z7D#=&k_FD?l%JQbzA})k} z;Yg7#(`=3f?^1brdF0D#kO2##Yxo`Z#>hbKSLME*-33Yfl7`12ym%AsiCZjdN152Z z@28-^PSYNioTUW;y}cK3KP#u zGKCZP2SB9R4zR=hF+OrNmS6#bi%p319+0TkWW?6XO)(&E@Ty6 zz*7O=Ai-sLrt#W20K~F@$+n?LE){h?F)7JmFT>^LoPy_hq1pfj&~+B|%est^1mSlt zF3p-{8jX>l#;l==`UtjOeH85Fkk>(jOwolC7bKws3;Mr*K13CO*#ZXk9bk;0O9Yt` zeGxcw#4x~dEA$1vsN$5caKWypzrR+u^9^9(+oDZOGD7Q6mdy^4>gTGKfuas<9k9U^ zz~D3fO+#bYqO!dY+*+5*pZ6WPfjH(pXe+%76Z8D{>kmCLbRF}%kVVEok$x5qx-f^> zhifN4zrU7)SEDgP$Hi2IU5mk^Tc^(Pm9iDOu1dU(2w469rggkq(!k_@Fqz+WyXujF zo&KROo=UOl@w7DrB=3V$`TjnxlLHNkgO~A~_7s}~+~6&%HRQKf7}zg6<#>v}x7dn0 z>gcM7{}L{l`E~f|V`!w&SAAy1SVbmitY}n`n5VuE-X&vtT22VfyA97rX4w1KSTSRD z^MdJk9KnV%QcF-EbTU^YOtsnGD2y_5ELWkp>EEPO^TT0j%=@H?Dqgm2pl$CK0v0K4IY+SVQ(Fg^f^& zGBTc&5)aU6cqyx7zUZu#TBvy-ycUJYRXW6+O&yZRPjtBPLmp|@CsylLbQkfw4dDlX z_@&6fBapGa9gfO!1C_ORYp*Z;fE!vU?kq-)k<5pzKSB8X<618~$27C*MrQWI8hU~} z4$hj!V7V-{E`S`FmEDeyOzh8ur}M`T6Q~bFQ)NgwVo^I+`p+mI-8F2&U@y~&6kf#S zH47Xy0`18Kpp$Byj%Ka#hQXQvnq~(8%Yyc2FjPR^X&@4-xH1n98W?>b(oSGqNIUL} z0K`YTcZyTo3)0|MAyD1cW1+@n^#Znc1euyMs%gQl|)v17j- zNVkE;?(OF3#Y79(dVtp4ALwlYcsbEOf)x$=Tt|(Pw7{J*zo8-V^=VJQ(8$Q{q8BsE znPt-h2h>7CQo2B-DNx_iRXmGeYV`mI1Q=a*fY0wxNmqptgaHFVy2qOkvb1+QyIcPz zP~rxA04)!0Pd03X!2cKpJcZz$PX-~ndDuA7!$HKU9gxd_grz9TP)`utiiUw<572T{ zWV_2UL^;ezT&^wvj1p__Wk=TMUzXM@p#3Yjt^c~{*)U0lHuL?1}})^BPGvl3rOK3s*-vKm7yt7 zBRf8j482=m#6rcNFQ^R_wHar9DwkPYC?z&QR?6(r*( z7FB*8Qgp~`TB1pb!@F#MOH1FOXCCx;_27w?Y_XuFGIrX+>^zeouUqoT?3*MSRO63% z+A5Eq(eQNY<$8{uZ{S&A>{ox#8VbG_0Z=hagtBEBwZ4H7@{)y=t?QCaQBP@ia!UMQ z*)Ll1o`T%?hDgd=pvnd=SkLoLm=*K8bny;5>prdBFHT?ayRbrD$t8H2H6E=Uxfe9# z2P-Z=I47ypw6?v;>z>e0O!#E#i^3XDB5sBX23{t|(B|PUB zj*zRkEYAGi=$dYH&&%yOOYMfY2K8|N<%Nb)j07XEd;p%!|Wc|5=emt8wVVFn26e33Dv5!5L_Cl#Gv2j z0ZOME&_)ndOcb6Nag6Q#P7(`fmEeCo224zHXPp@z=096<1$p^SaIpeCj=to+Plu(I zyI`f7qbJPceSH5GIQo~tRH94qRmz@fp0ua31{XmqWnk{&9@`9&arrqA6a#N{Le78mLI`B&(&fVyB z1$qA6m&$XB3tYUoKYlO%pYfLFzC4l@)v;c>b@I<9VcPX5MNJ(1A#tvdC;AUrk_~lB zvB{&y@V(e|CgK_RIotz0JY)-cqr5Pg--~-Jh2*}-l!L!9_^ArFx!8$057Ebktb2-k z&umGT)nTqxr*=v`Op3-?QWx`wYDD63k!fIW9}^W-!UdcJ<=1}?EG=c0l>%K2i*Fic z2nwcWt9zw>eeGAP_UEK=M%v1KpB>+jF)e{6vg-YKf)S$Vj#8`?>OF60-=;UPLY%4( zb7;kB5p13aqy6HLrJ;h*LI=j}C~0JImX1!HQAG z2?p1s;JPxCWosz_gyU|x)(EkqO1q7Y1sj#c4L+3L7r9W&k~RW z2(e&=hAzsYt>6I>I6yj{4&;0erRZ^q!SMo_@_}`k-D+`~3MYIF$iKOc%4(Z{O#H!f zNvOw?z1Cq*7C<1qFVBx2j(?tAL6>#&%fnHMfRA_O@vHPNfFj`WIG=-SgB>_7wYdTb zVVB*H$~B!AirG->_*%%Cvgp%G{92bzc5Qqfand+!PG`2j&iHcIFJKQ&@W$4RK_iom z*xTYNHhZfZ*caYvC;be7KFr-(?)KM^C@s)tTz?T`jT9vcZqx z147mBwqX6*YDMC<|Ab5H0o$|ZLP8#Ay`NI73en61s@bq|ybPkmOEaQU;=nH*Fj9c) zR@}l$i|MNKJqSNe8ff)!xqOJEGZYrS*yxhd2!W*Pj^7;b{A9x^is9sDsN#UD!8AlL zH12>BB*|UsI<>2A%?U1ddS_Y6Bdu*4$%{=~ z4@tJdz~`8ho@C#_aIEC6^?#g(HK-^=Et-~;RJ(<-#Ow))w$qj$U(zil{~X>1-y(VZ8(NNDT zYKQdBxFeDFW}7JK6O*8BVWlMhS#O$`U4iMeZQ(l>(ClnT&pRHV0y3Ttn%V^7QBq$# z{jS3SxkE!0*vgRJ)zfLV!tKrCaeKN`-H(4%-`Q=PJK2`*Q5g|J<-$U`xv0(e-9}zZ zy+19=XDss5J5H~!@YQrwWPTQBS>4+UKm@;pk9Pc#!1Ejm40YO3$EAFeq{;H}wP<+IDwbL8PYFm&X(y7wby=J?UI9>4H9}qNPMt zJkS>42Dq7r<7)0sV3mRhttTz~gFsLWd$`ZbRhAdrl#no*2>9LW`Tbtj?L&1%>nV3d z$IFAZfUF#nlC6O2IiVciH5wpfK~1m2PJ)U(faV%QNg;`GkTv#5Yt#aP40K)}Fu~h- zN`fm>iFyaJinjWr5L;HaYgk_5<}~KREJ5Su<_z~LPhHq6Pm@1$X|tT}Yl4COf}7Pi z#&@(G=Z8l^Wa!OlZsTA7zzQiuDn0N-TLa%TWJi=+WT9~W^JT~&h|xkAqc+flk(Umt zzKdaZS}85%V%Ntk{L*g`9wkN%ZlR5Dk63bq{N=a%CyOYIjo61pr1@TQc{$6PMkHit zpMTb6vQjnLa!ryyXSTXFoi|ZM3{l_|1ScPqk-iOXe@2sRL%|enjA0i0BzD5)D)gCj zVo)hOnHR`>&_hYyxMS zQ-p%O@@?y!@5)inhSS$L%tobX+*@kF$$u_+-9mcpKZ$FxYM1SzeLu(AZQnU?o0iUo_f?`*Vy2uPlfiOfVD(V)^fOE5!NIf8 zYRAICuW8HNvWf781BSP+m8fA$A_iA$^qAUN^DWY(qedjz(L=%CN`nO2|P3zG~oxrpWExhvW{FjyF{!_=4Ri?1Nv8#ZkhqDiYu=*BwS zzCkvxVy#QKW@Q@*LIUgPBKUaRQP47`Z>@7F753`B8FMHYaTr{4R=eW9s5GLM_Ak_p zyiyag&d|JE!alA1>rgKt{F+0gkVE#h_){A@gQB?6JgxI@S3NEZeoZ+w?{~SB#4(cl z0<;lV)~RF5K<)L-(OVa|vo67^z1{zJaRZ7mc<;C4@E#5;Di?-T@&%Z_B=y*^&!OJ`(A~_x$LC z`>;tzsV}qo(MNxW>xr^dREo;Vwm}%ik@HK)H;@Ux0nmBNMxDJ2xBH?yn1;E%8bULa z+ASfuO|x6hVte*)W|f5#2Hl4jbN91fnsI3;qV}!i5n@q?MCb?p4zmT&IDSqYB5Nzw z>_X?RQ&6rHJ*oue7RWHr&aSv844K~nZa9BxQsVsC?eW}&wF$eK&j1QbFJ~buG&gwA zDsNI=uD&~X#-RVuF7q3C|BwWlnK_KOT$9Vwa6Agv`=15H(vAVc^`FtWiBnH=Zj7Cr zG3C+Rz-?VlGW&x}?juO4pVj+sb?l+LO{FQ&G(R&4Mk_#a@i(6li}r+AM7J<_vD8iS zUKeJR$iGLSYAAB4@yQ-*W1<9n!9y+cWL3!Tz(rFhMpN(F;eIXs8YEaDNPf^RhzHE6 zZxMOF05-1@ZwoR!K>ke)G9rF_fWtPK!qW`hGP8KYa(qml+-;!PJZ~wk!=b9hVrsFZ zTY}0oIQg%%|G$4>wATC>Ll%^FuMt~MwuepgzI=Q zS}DJR?hMjA6{5c)j&q9{ZYMfX^b0U_`ba`DnSv~kd@=FdI%B)iWJlt2KdjU8^in}6 zo=>`JkL+eop?ovDdgY#wv0e0@RAw%(0R&AA{+AnE24#o=#m2AX2h-f;ue2vpahr{R zc~Ptx+%y#qbaHTt>L zEn2ummAUhlzkW>!7x#h>Y4A0neD5;dF#sAWf>6jD(-wP09QTa^rZ^r7DLqn;0f$Do z_HeIako|BQ9FfQk7cPQz$FuX$@RFSD@|33iAQ=!tb(VV{9JVkphI&?rZh^HG%E0wEsfF&WkC)@vN*h_it*v6ShO{4p|uHDGtHH4 z(qc4MKtX?{c(Qh{2#4%euEv;PK7tJE06@J~Jt61 zXrm8#&&XY88{_HFANQ#7VPvUKK{ytajcngmr>p53v5Kp3>>k|dO@zb(29-$7h{fkb zVhSRNC9q^K8r_b)ZE%cuq>#Oc{e%gfbWyHs1d^`KlJPE;9^zI~@+4s006ylgJ`4;5 zg=7|YXE8>;Mu^5bgKlvBxtk~W6hU-G@rxEk_S1?xMTL_SUlQ^%)eDhz8mAV50)KpI z(iDp&Pc?L+l}P;@JHte3p)al^lD8jN1;|`C&=BiBT2n>`)UJJ5007KBI@YG}S$f6S zIC|FJVHO;EC4Y(GoT*+&yq0Bom&iPH;zT!;KPewIXvJriB}6VBA|Du6c9A6J(EQ6( zKUhA{MXId?Y^)7S)<4bAkXtDErq*BvBH7^_jpt-5aOAtjZ80qJyDomEwW2 zdPc#tI2(M|`FWX=9#f@xP(iobuvY(>7so<7kq#c3DzNqsk*T5j3sxK?x?Tg+;A(_r z{NMh)bAV*NK0r~dKD5#dxm;HIXTkV6Ssx3;X}ljnD06XN!EI2opH>(8nV0#&<1PA4 zV1Y;fXN71vIb`~|*k2*UBB(MYF{v1}7XLb#-+VUVd05S$JDV{B;eKVkR4 zGqfSqeLA>tyMO#`qpDEDQg!@H)yTw4Om^NeVYC%p?1!S^m5uk!nnl6dCVSTHa&b&S z@M}18II9+#*`n!WolIp5CCbdk%At)qErxaTPGTH;)zS#af*N<4)53Jr%3tX@N#iG7 zJI-3bET6769((p3rwS!DVkc?dr5-B#6u%JeyJnvjBRW24!BhH+89dgngIsZe4G#6< zquDFV+tU@^r}J(;_uqI#G2*UZXU1YR{VTy|ZDK~&qyxN!5E2JitARrbN@mI&Tnep$ zoe|_RiV#Y9f}M>GD3Y3=ZnBM2aa@J7cIQYPe66L8^FRPWN#>b)-U0P zyIrzbhVcJ&=d30mT_p1s)S~vQd(3^X^AIJspsJ9{&(YG8hmI2STcYdUN!)an(hyb- z8cg^%B{r!;FnC@BEhiBcZ3@Aw64naP~j zu4R@*w83U=3`C1Ogr&O(b$krRQlm>WL$}|KdBc{O__gnN`lDz+d39w&te2BAuGO&? zj~~7ubO`D%1gI35FUIK6YS5(kQ0?lS@8SaO=iVvGQ~LP~YWqAp0hwoMocAKA_=DV6 zfcT+7)qC1-JCIE0o1wYe$r&~elswvkiej(tq4^;mg-YGQ2T4J{wy}tBTVIt=M72%? zm3PRciT3<(3hb}jYh#A|lEQ{}Ho^7dkd0yG1}M`Zg-E8XbaC>P#RD6+JOVaEsWha_ z_*l$IPkqz~*u#S?Dw#_1?WMw$towA#xQ{rtmKB1j7DDp7#_RJRD_pm~7HIx;hQ0&{ zThmcRt2^t4LlLCJ9uOzDbcy%E1U6`%qjN?_8ngttXZ>}_8`~U-u_jbG)8GAFV}-9P zhzXGjLkT7DgnYD!7xaohP8Xt-S_%k=vV>tW>;iO!n`+OU*ymv?OI_p`TMOf*=~iHy zy+PWsjnVAGhCQ8IL_T;xg+1o1?b;Jw`;c%$C)UB#&&-a4;E|XaY0)# zOn`u7#5?fegZLYW`Nh$37%T2E{O6P1I1j74`Yf4?i8k0ieivH~ReQ)~!ps@n-TgjwaQ!^{ZF3fi1bGsNa$tQ;j42EH({ zep#`?Z|9&c>9W%2xio3K!3v^s2CiirO<4|-Oz(GMnsM{1@U=D2Uno>^mBrJdpsMW+NFQf{Y{RJVc2I4 zyFdB>mmlNq+Pb@%<|7JYO1p*Ip^w%3CEk4=Oz7HvzOUgIsbppS6GY z%wB)L|50=<6DO(bWz*=4@!jTjCi;OIhM|fq4o7ZQj)+;B+T<;VuB)vk{U?C95527D zMDIjwB>!=}_%hVSEkJXi`fB&AyAOqoJOMvKEl~QqID>k|r`~*IzmVKR{LDv9s7`)R|^ zrqlU8=p%4m`3ILQv#(ZUJwNR&`{sw7Qh5Ge8P@JSytS@B+|(l!EX=ou{U1h5I~Y#F z2MHgl!pHT$@y<60c=in!_{T?y17@~BG}a%I7$J77OGY3pp9y`IJ(@;)MP}#Co6B6i zmeuhEwCkF&hOY`fckj_v*P2IGp)|r{C~r$4t+9HMy&aQ_ZEoSl)kgn`j6AiURzkc$ z3mqmfR@sWF@?cst1aw_$i@x1Lq283F=Nr6F^&YF9&6;;rjehf64)Ex7Ei_=bDD|A< zskPShV6oI^y>GIyL`odfzW4pljp5Uxt#y6xV|7qW{$l9bLf6oDXM$bl@QKS+qy**zL!f6IeF3o$M3@!CC) z{`BU1U|_KI<%kT;c3D&Y=gCuBGZ|;H@3?`4De?+42d`>3v}KfTcU+r||F(w$28Xtj z1P$5^F#RAhZTNfoI8o~Ri?_wsTQb&U)JhlijMWr`te>h-KRLr|@k6sSI+?U9L-vXG z0mWnfH*6U*WFE_L$RF+)?qgyp8kUMC+{_>&E6b*g%BHkQH?=85w23*Fvx!j`cnwYMmQSQ#Nx}2$#&}d zh!p$~crg|j!D1}*ryCbHM2$2=T?)S-9KErVg~8ta+h-m2W#HrKXte&gkS$Cd7BaKU zOJ0n55FR3HV&Wv65M-~Lc`tU>Z`!7HxmszJOU1V2`<%W+M8yv|EX^-+AII~58Ywdf zwvnptE>-85qc!2EsH(az$H)v@R*j8~?ZM^=VcLJzja?)Uoo?H{3v%e6&`F!GQe-=Z z1~8`lSWkU>fpvIGlQWW`!7|cI)ZOq@YJBt1&`}__YBtw(D)-$~lD^Gn?S8_js{^J$-!`%g;%9EeU}vWdvHarWs;4 z7#Irxsq$>OMIS=jaZnpKOTNl zqiR>9YF?xK=g2i;pjSCIMjUQMC+e17hzIc;eLm~6GA#SUK=ZOU8=S?>{}Nla+DRS@IQs z=*E3~-bKb-EYfAmN-ieWyvDxKU@7JH9cSg;@{xtgUkl~%QU)k&$>LkPwqi_GJeSTS z8!96f^;obTW=xmEP~a^4z17hsZVXk;By=`d=!WL`#$cu454;6Iz%r6#DibwOS7xfLJ7LG@BXx* z=;pv)=dJzuERyt>Ky;auW@~F+%_hCv$0(1;3}1#re6We+Lw~2dxr?Nvd;UAjCr=e$ z3oQVzwc-6dy;;wA6Vx+?$@lFkE4}{+9+{HqQnAo3dcBQ~_J4|2$iO5-Fb>>M zVrHv zK00|Wq>rHMG%CpM9pU{TEJoD27vj_@X~y}`2&tg?syfhSI&`wBX5(fF$adH`B1gEv z@+)(d>r{n$xQayhWDhLwg(ij=+kE)$@?Rxa;agw5>89$6wYIhL^GzS~(SknNrcv3t z-!ICl;*I2}q+M5M5j~-_Cficx#Z!*@=f?D-?pv)gkV~-$-E7yo6RKImHS|xJ85tQG z7dOlYh!X@Pq5D246z;aSr+Vl?!#$rF-(H!1DvaPSPBEiZ$&&)K3h9=Wbs zd3LN{JaQsDa^eJY0<$JiKe9U$YHidL@@K?6A|+035BTczu=9wyHRo@TRSCvgYisZ7 z+DH~GL?zZZFBl+*72PVJ02T%#NK;U)*hGdT4VWP~wcvC0RmhbCXqAX9x)siJSA@>q z^1Nrm_NTUpxUmMoRU-0?VJWIP>e0^^Z%Y~SklU;1(hO^J>&yelV`vNr03+HwvT;sh5`%91BORo^H+`OTvN ze?b_UBs0*_={k)_f$U`uYJZoFcR}J6Zf+~}Ov@BPCpz-KHps}Sx=M51f}}g1a&iUn zM-=P$*(e%03bOD#vu|H+Hb;MjwM=H!^K2rJlJ3c~*|nOhue=k0Y|2_&vq89=An@!F zQPf@3p5X|eLUo-5FnC^qu!S6$fq`fzk>K5YGZ4&y^d12EUuVr!m@GG5^*%OfIuQ>x zYC!G||7fOZO(|jgmz11BPFj-CBfDH9_DLXECaGz$-`T%@;eUIqWP`O5KWyGWdJq=U zBS3i8+*H3Dt0=k{BSXCi4;jJ*82Zads688GM27(RP`v6N5w2Yt#ja78Bf{iq=bno0 zrj?-g$9%wOMK7Ls*Ne;kQuy;sIH8W^qw0xsA@>Pw$5(MY9^xcK48%15DO2mxPFV1K zXm1;EiGZPnX-VZhMBy>-eAOKpG>2Uip%xI6Cr8K4me5~na`BcRR2@*M((RYl)M%zB ziM~h%W(AA6MIXhjq}DPs+rsu7IWlKSDk%ZnYtk<`jmpsyZnRihni4Oie>u|ri6~w^ zh$8_It6!B40euat2D7SwDEiO-V*H_@I-@2XIDy`~opDLrcffW=d^v00dhwOHfXW`q z8;73l$-N}@A!n~azt8=plI4jz@HvctHCdQYtriH7xq*r>MOroy75==(Any}eIWN)H z`rxYJT(DyE_D)ka-qrb#kC~Mdl|j4<<=c`kR^8Zg^g6q@17l41CD=0a5v{GMFbh*Q zD_F9KMKUld$e7ZWcyH{!#?9(QKO-d&V&?OkaI5~*?Drqgfi58KN_ml;vf(p;qdz^& z%)^Rqp_RZVGc1#Q?A(-CTggqT#}}!+dH1dt>|K7HmgwwNbZDeK1vZjiTdu)w(48Qf zLcqw;3wMit+=hme^L}i;+T0B{I57z}=a8Zu#qEmTLq?^*C#6h%@m!D4L#oT=4fDOU zwX9#Z-@8>va2GJxotF~|a$N%ET_WeSB0WZ*veRmw4~LQe$KC3d6 zBFH;pv83zA9+0Q#$+T;W;!_5BlvG){@U3p4q)?lFl8Ktu!$vx$81LsA&3Xk z@YII)cF|@C(3d|6v&5^&UE*=%_$%trR(~N@8Qd~z3ne?CJ&n=h|6zU?F z`rltIC0Z3fV6!U7OnGXI3Wi4C44U8nU+(<>6W{OGH_5YgF-s!rxeCjM`qgyZ_#1`A zNOW5A#gFer?#mp=kBbqMxJZ80?di^yl$Jj4IL1?cAj!f@*H~dgh%b;ggRD};PN3~B z^@OQf_JBOB$BK=vEbS$Dw%(46 z*b=({AlZi)bQ%3|opV5gbaGp6ccrkyy>o;c<6gc{v5Z+Z=0fwT{;x%sW=7QPk1D$`AP|Wg?PwP+zz`gR1!Cf)jkjX&25)5M% zN6Rqh@z)rh`K;5b>ODL8=qIn$QEKw=q%fJ-)6BQWnZWZAf<<5HcT`msZ9hhE>wx!4 z_?28=L!;}%Jv29<%tL+!0(1qX4#MQW%Iyy@UhB+ehF@P|be5By;%8l~yd$Uz)TPf# z<4Am8A1^v6IwDh+9qHZ4bwVLGZN~<{F<0*JW8Rrr!r2ckuHe)F_ZK^uVcF$B8B-^E zVB)t4RT%Hv`ErCl>k=J9Tq*K|kNu^DTx}}aY_9IV2{n7WZG>fu&shW_IzHE!4wVmu ztergn;~ytszTxc)jaTfQd#LsZ?w-%>P4si1(^4hz*`U8&INTUZm=k{UzWY*i8Xlc* z^x-e0NZZ;jYc$Orb$WPdR-(^Yg30ChO*m{-*N%5`#VoR-$Yh1m69y||{SoF8W(MA3 zFVe18AW3v8n)p|BGcs4`XGv$m&<&P{l318*BvLW5G9m*1@Ezr4dY;lSm6Y++4sY)L zoi^wTWk0K~^gZG6+il+Ex8DITYE!`A#5NOQnc_RQ1@Qfum9N$9E3cq=p3O@Wr`GCQ zii{diWu10T@KM8YSofz`>}^fAHdW;|n}{`f$hM8%snW*#diOuIx*R}o3LF~VKeX2W zWuHpvtQ96Ydbh@YFSjntSHh`%)-J^!;zPwdc_&*VkB6>~S*gmY0Gj8eg*5H|x=kL;WW9=fGnd;gXL4 z|3TS%2ZAt+jOZb^X%QSj31DH$gl$VHFYi_a#eT_LZE8$`kC&8W#K+4U3zpwFU61c+ zyec`+xlx_3dTU+Adav!LDyiiQQ%yH?tqVyt756VCV!8anwi_vYtk!0_nZcadeohkn zDrAJb6RO5F)ue1nUwCPq14W70pFYI{7gK;DJ3)5|2tGnL^7Cgr-T`>7lE4mT0#ac_ zF+Xhb>Hs)1u_-A7paGe%{Np#*c}eo8!-_Xe^^L$r6f(}QC-!c7;TH#g-0I(?(IIIC zk-}`?DXU;;jB+UEuuNLznpGYxlU|Z!Jzwbbe(ZiIz09j)>yjR(F0~gK*DO^=On&WQ zr*8m9J-eg@&+&~7;}~^_ya!dGrlw|rpapQ>z~iw|M?eN)>5cWVsOaPrk zQ1sWY-2ki1@00-wAmqAZ0@6J8UQ>7{Bq3Qk3>1Cwl8zH#?+U;Uz>Q#Z04s|c{H#(_2f;KNG@d^}SlNn3lde)lY`3|w@q+i| z*I3TaSiI+&B7=N=>5pIkmva|iOuV_2^dhjMl+%=vM@w)y@iD9%V^{A7vm5An@3fVO zovh#OLrMtun-(MxaceW}S{G2^$^r~h@4V@DIe5ENc72;Mryn*-(wO?(;iP9hK%CXQ zlrE(;=%|IOVpi7H_(9#jtSxS;f4+Icx6|*mr43Rwu`?zvc~)>KI9vX#r#&^6&Ovrf z?EP0ZTe8wI*YS03`%E9TgG43?4C7%jiTnuy6sSfgh|@T1btbb`W4YdG}x zC%Q1JsD`Iq962G1P#x`KEsrz#W7cZpL;e{|;q^RSR%Qw@+!snRG3k*;(#f~(|MuM< zRlfdYEZBSJ-O~mN^jt?$yvVP3b48mo|F>B!9eN`*ULEv#L6?r8lzlK=Sy|bdt$AXh zS79~DA$rxuKw0+MVM^sg6BdnU$(m4h$H__b%Wo#@vE9Fz9SqA2Cd)mNDY?FUGG;X_ zDGT}C$)G8s@U5<^P;RzBn+%&@=8PERWJ4qh0+8M1%Y$a1JNxa0melo@1W2w4EsuT{g7GnAu}5B#6x(!z5yTL}feDSqYxw7LSV-OocI*QJKN+v9QY(gp=~a9E*K9IH zRi9@z{9QJZ=|c2nL&M+K^MgFJ`+gX+1j&$ZDSzf?k)`MV_RlTsXL8@c>#S*RGkN0s zZBpYL<&E>P0!6&S*{6FfRzlDI0|$il$r2ibuQKAN7_dmeK#~I( zT|^b;NG8!Y1(#ZzasF*gFsEix z&o=&TdczXHniP0l6$f?+Mh1FBXq)*Xj|k_UZS<4RMU1a~jZ17TRBIl#de?B4M;q+( zOk@bykJK>y0*STnL!svI@NnWkm+(W=pcncQ6cm5{7>uoCc7WLl9oG1N%*L>Bf#4+w z;b}QuhafT+6xXBsw}NyX?QF>BrVUQMo}9Gzy+m!&jsvAJZr-9F!?Css^2~gki7u`3 zS$Oz383p45wfsGfwNvC7{aSoOUZ6@!I_|f$B8_PlHCCLxd!K%cDd{&S0XW&?lEzN} zIh=w6LI7m094z?b93Ujzd#Ny&kA{}D3fHH`X0{V%8PvEOtgJI9{R2ZotJ88%Af(;{+Zjna8LGvI-NPzyl{*D_D( zKpb@$rg^#?IBrM(R#x^kkCYzD;7Aclu~Htxcr^NtrmVj4BdG~l{4r(SuRK-3C4*18 z_QiLP_Vo-=6ZcK6Q-;e*5U!H7uC89oR z*sM!SOB*7X)NOl}pt|=_G?HiHlX2mKZ&~ua@946H$Kl~G45fdz{O@ljVl-JZ?iucK zbVzJ2&Z|t)JQ}$y%vmWsd9zYsGg}=!b2sBeWY+RI#Bioi`(5UBBOYQzfrfaXA(0Y6 ztU#cFb#-+%+EU3MkpT@G?ZFNN2`r)o<+5M+56lpBs;w7cDcvW}i~aHi6n!ovqAzK@ z|JP2W;cA`$rD&-Rl%IJeB{-5wY2ARW`EfjtP69Wo!ON0|c?@K@#4=`@!uNju?HTKc zEsU^?TM;6qPQz*F0y1vrj)UQ0eOYbF7+S#LL$Rigg6E!IcA5E`$tZG=?(Whc!Wrn^ z6-kw=#tIosW)(i@i_o_Ofb)vr+9g!l4y`C8_V6n}G55uG_P={w8s)Oq#V6j|MEH;H z9VwdxcU9v~8mo(Ju57@jSvs90dGwI3>D+F!ta&qOVp?4OfPn}Z|JaZbA}%Q~zXfc* z9A4L~w5A#;~JmWsO$njz@%|VpUl|R_!zT0~<+e0y1;0o6V><-M< zlpr!USz1Qd5|ukCV9fx7yv{FIx;d_gy=G1v;Vmb;FG-7kf{+xCDn_}x_&^V1GjoE- z!+--J`l)eesq^M*m}ro3zCl9#&u}39`u1`TM3xBCJ%pn;bUu4jQZTTi6@c25=t27eeBf$H$?tM~^Xr8EyaU304EBf#bR z;;s|Vm8^7{7fF!m^XfkARi&EAD;Z3VN9SIU!Tk|2KEKo2)a3FXiz#6^*dh3$M2KY= zTf+_@ohm@JsigG6L{gK`&A;DK=m+KNV%=%Ora%3VZ_oy&{^!udf_&npwbo%td+d1N z6v1p5c=hbJq@^V*h#nX>Coc&cK%#A2ra8QRb?jPk+%;Xs;CbzlEW5U%tu}u1;bZm1 zSFqoC6TI!KG~0vFx`S;G{o}_N5z-Rw?g9WY+8W+*^SagGh(QThI}gnWJIN7(TJT$F zr|Nut@!NuAcmgLF$i-xw2fjXiZ>5-`JFwP$Cp=R47`b3x@?p%UhhgoyD9AG`dXwVE)xz6`+L9jgKUst@pb_t!^no4ZIpG$X@QWYl_T$(|qhMJR`>G!^%) zN(ONPm7FTUkO)AK@1pVY-fS4Eih7$J^R)Ul|7p#7m|2t_AXIJLHXoEOQf)*=AzcU{ zXIq^2y{U_pxO0e6;5!H-afD?i9@~XzwcViw*A8b*?FCmeMES{%Qx!|qAGOwQins`% zM>Ph6=_?@ZW1dA_BVrI-n=kbWPH9BFYAMokqeMN@ir>rlKhPck4NDLv*-sG638n05 zshFch;h3}rIu@zDEPt3N>CE^b|3xMd>X9RrD4sPn313uFvNnSd>va!*ku8Z!358C@ z*Byr%P1{ode%_N|VBZN*4UQ?~jV{DsmZDH7=SwC``CwwhkK^+WE#>JY$d)JtokE}~ zum|-%II!3^{Dym2r;BhJaPmlNTYNK=Dgr)_)S;5UdIcr4{@ft_mnr>+F}LfJO$eQk zaQu72nC{t^ZRa8+o$0L}+E_v*c6oKlw`u*`; zmTxMVJmi@?mYJ30^y8NJiS5UqA3BJLvK6X}PyGBTE==A0hGt6?;Ed04aZlg=VgwCQ zJ7j%M*E$#vzncPeK9FM(=@A5tY~0CfCq)K!NH5Yl>kT z?4A$;V!B-zXp}oFNh7@EppSwuLqTwSN-r<3>RLhQjf?dffHg{z{ zMN8|YxVU(9)>XYlLGc3@obj)fp@lU7V%dlyd`hqnAqV8Hp`Uq~l zwqA+cXki`rN1ngK^>?H8?22W8%SdctRWpg5PGPDBBj#{2?)tOPLCVNx^BLCQ$c<|= zxasiE-9?Q5K*tC{6|k#>zxLmR!O|Q&TwXA>RMXI?DV2IFnuEviUN2LIGqLY`lc<^J zwlBaSOMn0J+b72|s3GNeApsllxFWa3a&e=HJf*b%n4iX`kEenTMCj195 zV?_`DlpHd;-o7pzPxx5VFx47j2XY$KqhyL+S2(Wp@}181BlcPdj`V@C)4e`)3=Dvo zZ`#iGm!|8Tt-?-I<%iB7?+2aATLwXzmX0`3v_S-LAu<@!ybfMA_{Hm&$Ydy0T22M{ z(ca~FLM;|F`FP>@<=#1?TN8ex=mTeZ$|CMN57VojOy~Kku)?$`2r z`XzR}Rx*E&(qnop1y8k8bX*bVWw(PeTz*1?H1`Bm(>vtMP&UK{?B6sMT zw0NF_bK@gLt|;My`@k^~g40a+ zcudu1XBVh}e<54~0|q0|rBrLv$Tk_5If>G3CxmnuAzTwd8C=t5BQ*05yw{e2r684| z#OZzEgy8?Zo`wAd(r&fSHNooRDQ?TK2H$%>k)fG}VDM3GZ@xKx0-{`iv>%T9qskPtAP<(Ic1H#qINJLNgIk#81oM=R zk8^EU30(^Oup56ZfV4evIne+0>Ajp$GTeNS^$tPff3HU)3BXd}lPP1^gILxCj(|=!jLns|jgJ z#o+8A(ctW3e))w;Way%|b7+5(PFPrY0f!?_Rsi%+kVdN9-OAR=Q-uH~z;MM?R>sQO zdW&Gr-%Dnel}6kegJ)FvPX)WeIA6;ngTwKOiND7lpfY?aLN;34BOX7Ac72vCOlDL555v~?#ii)tGGqFb`&KLn4_f}rEXC)oIR5`O$tjqufIC%p)ucW}DgE1rV;(sr#rvbNlZMbcLhX-m zH39SRa}Z2x+Zc0_LXJ=oYEI;BbBXm8vS(_QD^8JaUHQO&_kF>I7Z}6D(oxiKJ{yz5 z-a?}1gjZoc^bZi6E&G$#26boaxmd#!75x@GE>qZRmSll5sn16RZUieea-7t5pUJe^ z{I2Jvl`e*!4Z`_2oj1maCm08m9c@Nj|D3(u6r}V~box#;Of8ra2{2VEM4>?jQ-s<^ z8n0WXUG41l4#Av6vij^qMZvQRKJU};w3F1$E`!s^jhn&YQ(=sVr4k8n;XVV}n zllk9(*}E3I{V$n95tzz^{uj+OX>JlZqjYhyb>RA-a~^s}tZ8S((f!L%9%KNbHjVH< zOB#TzHLwz@KYFh`6m$PBc^+ki{0DH?V~EX)e>B{?d~=)K6<;$YoqwNgw0BvO z@4>o9AbQUe&Q}@_V~;I5%(xODEoS@Q3izLNzz{yAitzgcCwJC!u2AGWS~1rBOBK05 z0)3{tj-i!-7W031m)=K_{8Fs66;NM~@cf6^89*}0z>t-_>ydk`V4$~@!(1Zqj&P0X zi|$XT@cjS1g(Kfhm>Nu&b=aQY-2N!vAElUtEF36cC;nr$K}cLclD>clo8e^nR-$`# zbmF`wOLiO=k(Qco)fq`82as;`0)!7{O?Gs(t|phGu$9z%QVEVKygyqE zCKGn!L`X2fdIY*unA;DtroAwjK2o?WY&ePwOG{-*8a#P&nQERf5<8i}{)(NIHD49( z(e&B+fVsAg_s|KydLPqr!LpMeu*Y!`B=O;`gC?m%i}TP?p@RH;@N~qvpoR@tW%_-2 zV{C+UmKbZC%M7=m8btJfR2CuM%%!m_#azj`Xn~gJsMCoZ+(Q5r0N#(9(v!UtT#yU% zIf$ZX|9rB6{wlZ;g`z!WCzL7)Om98QK!fuGzbV3#$kYWvhph{g=N#I#^l-h`X)lg4B-HS zu#ZzXH4Uw1rKkG>j8j#boWNx&Taq%m-rG})4afc}SebnL{yi0c^_`%7d5Hvz=@?v8 zkNjdp$-?uX28=cA!<6ln9p6vnK z^AQHEY?YKxMu$Dp5WqEVS*ESSOn#NUR?)FHN-%T`S6|2@^?023y+Wt+T4Ce_d{@|y zKQQKry!!vkpRG#gNhLz+aW7E36;``ulZW%01TZc--WUffne}gJiW)IJCf~BNk7sT` zFbj%P`10T?I=S)eD~+kSG(==BeR$fr($yc zc)1I#)t^Th$!UB6?s@)SW4WTWUTVoJ_Ae9$+#viM+iQ7(WSBm^4WU!Eq7}~*dlZ*~ zXC&05#%JJt3?_G}h{%HRdUz*n(jNkx+5OkxsuLr)YE!H&-#sJ(jx zKiA_zC^0Fik3dm)q?cpI4XO$T=?L-;;JpmNkA!yq@!e6|I9b!j4L=MXi|Fw&53;7` ziBJ#_NO*g9xoE(SLjzH0X7;aK*Dc8q*U#gxAi#A9p#sn-`VoW1zo#HvVdhE*2dqYD z`5JMud1P9Pzh#E8Auy~k`p~Mhf9LzmYjAY&kEhb)%$#4TAdCWKF3k0|4N$Xof9${G zDwZ&Js+^jd`tc$Ep~vC*$m>59A`0W4|0+ps--AX5Qraj;grO0X~VjRQW)CMCEHB+TB=cb%!VY9m=rvRo^PGI}8?EWv6L<$&z*V zBTd`*f8y*`elrwA-@mJ6*ki&w&JF(wczhKvETTLa@Jr#xQlt<+aPSd?*@v+YN+$aN z{0<$rw0WAo68bdSE}u?<#=BE=s8N(A%H}e1e8s&zzYTGhhF|zl*eJQNu_ipng|`3k zn(OtKpVSyw9Nc&xxofs{S9!qQVpeU+3TP}KodpIOD_K1u{&?99Sr0iDSj2#Bi_@ki zEP~V!HI6LVP1@E?aVB-A&141B>M^Rne}aGfWbgp2knu5F!d9tC`SDB1$5{6G$N5Um zJf=pB0^hmHj~=`T9Bs3$tN;|%%Kgvbt99(3%a*8Q_+;M{jiTvd;HJ)eztJ@_Goux7 zu^WbE#qLqh{zo;LnEewXb|5j4{06#4RV}R^FfZ3CGwOItk^plA2ts@8VRH*x|1v;; zt5D~zf@)hFLR5i#0WBoUlP7j%MUt#cbn9P^t9G++e76N;-0i0M=#R-&{{DO!iN##E z&dbh@Ri``uIMf&+*uIB6y%eC<(hQp;;PnXy`4 zUM>Y!$D4yM&Hu%wZNgSG`?K#@a^8}^eN!&%#Yhl0Q!x!g7CsqXT)S^+ZtSPRBa^-9 z7(L4Jf0;_2kDSI;lv0PjWZ%_KLmpukV^Tis9@YYS!Ab4H&f)nP@Ts(!C^mBE_oW`6 zk7k_4{F4P9yP=z#59+!qX`v#MwCUQ&yDKJlb~`dtm)pwTdO>cTjYvJ8JX$(!!-aF@ z8e9?*5~ofrmPT+wK>XRZC1BGU0edmcYHO{9Td1>ed?PyByc*B3oVbXx=zoz>$8^4t z;PS_Oxn`21V6?XL=Csz0!G{RR`M=PjNcFg`cI-IG!O}f7>Tdp=lqRQC#MB^^fcaqd z&keDEtM9b+Ke(a7-~a};oH=c$PmT!>J8+)F=JIiJ2&UlS^?+D~UX>>J3X_adODCZ( zu~!!fFnYA`l@@Fy#`^#&7Y}`X0sgR?lO?sqNai4YDKoQ&PN+n|R0>v)rQ+Z<(KiL>&P>A_yT6J$L{ZN5<;{L}2{gORd#{ z)!E$}iAveN_9-5Ol#Pouv=z^RB|9gOaD>it^YK~Z@U2L(>x_U&p_xNQb1@!LgnaAy zTmJ;-j}OER+$Q!{;<3J2;*%PY{^z18sAc$;G0!+Ana=31E74|;4cpxX-|3%s4$A_j z@EHSoc;`eHxBytHXRjUYxLFCUy-jPnjI=8doI<;qD`;A2k~zUPDSeO?5F>uK@(IZ6 zEij&2SjaspxW~dyMQHJeeOUZa%I6=$;?o~UUi=JV>sHum_r%#Q^7Qd}5x=cjZmQF^ zbpG(-h3i@}!*8qgjggVMK=QfzLq#QYbhdIe!@Mf;!>q1B_r$!zm2Tszl8kYZb1AKy zKar;mC!O(m$V{?M0=2ujC2b~Lt?N$TtJr(~SzKaq=-%8ga27ae#t7Y$D~i)JdDL}R zZvFGR=Gcns-yVr1B&6SWNH*qD+^Vu~y|r_c7QfDEoy{bhzO|9b97+w9A8XNzj`ezW za(O+x?sNvIU-HP)In~xh`xc|J7TX&0V`f?r5s_NBA;0({FD;NOJEA|n{#)BI&Tq3~ zT`1`BkWE^zI!S7D_}a$@#iEqkDKIP&Hv#ugg2 z78)fwN)^K&RrlrI$vLR$FLP=6&$mTV7rtLPWhg!kUTXH0vAuXdgX8;Y@iAw{$`z5r z7qZWmY(4C)%HFdNYn*S8p$25*1+Ef|=Z723eLfq>$G zV1ivT8RmZYZxN2#4j`%R{Z70MRO8_Z!KY21(e#yycZ3`DCMKJ*;#Eg%IZ30?THE^V z>C%h8Ps5dh?_kUe`$jSdGMh+DrAuGNJ-*{$k;R*dk5R~^X~f?4E18R}=TTB+)50^J z-Og7!()Vdh-n`X&RIjhV@$E&;@GoKH!O-Wz-_%W8?#iJMCq6D6R{4PP&rx$MmV52G zr`Tt)YQmj59NZzr$ z$w=3Of3x~KEuES3%3*T4OsS4*e%_$+m1}@n4wUKh!fr&L`+8<8=J8 z-Lv@xO9;8;-D3|(zNI36fXu0vPhhLJ!3XtAJb%@ z(qM~OTCMwj@RIDPw>;eHx%>Uglvi!VHDf9f)4Qk$b4c?-o3=8&CS;Yt;ePo5--Pet zY}Ih>t0=?RSH8YwOa9z7s3*!i=zd8;`iSvn@#o?G)~QeI5$Wc-8YC4nr@9%5Q{yN` zl*BQI&duqb1^Qi7-*D*oy4aB>)l3>4o@ld3-s$`IWvOzd!eQg%G)wPFs2~e> zq>gS1r~Ma3vY@}`Ey(xhB;Gk1844kVWMZZ~M26SPlgy_JVy`3^Qj68af{?OQBF-no z`#Dz(g9J#%zw5%^GJC&r8+sh^-xVFJ^C)Y`!D{f(DJ#gqLfcAt`Fk>V)Nmk?mkbMs zpzH~YTx~xU`a)Zzhu4%cO_IhpZlmICT<*+Slb}a9-12oSBMHpyUl>2JW%aF!M`Q_A z>$x0PXLd}6CgbTRN-0aH&-ns33Jh#?9Ln zR$w6%fBEu(!t-k<2%m*qmqwtFy8T_b4RkWR!kOVRp>%OxC@r}6gjYuVSwwC-rRoD# z%=28H4r(0?msuT$Zh-^O2+W014rT>|N@O&bs3vCT{O&&d+wuuwrzQVl@3ZuR+evoQ zdf|Rf;tcV$sNOXztw1^&cgxWLHxZ1NhEC^H{L7YYqVVN}lFI&!1Sm8cw_mbKp$rNi z$_wwe6KLV!5Sd~5RS*P!7?|ha@od=h*`B?FBrEoTtkXzs14EhmH^<7w-OnKOQBw#X zl)16TEtnnEu5Dv@K1m)(o>QbJM0fXexUswz9w=m{2ST3OWfeI@xuK1d zU)9LjN{KTCJ#;5r^EkDc+si80`s|Ut`M0)0sfB6`H54gMW`^4mt!vZYD&6kFp1qlB^m>Jzf5gNxN|dRlf!o9Z`yk?y$(0Ap``*J!A6+L!p7F`;l`3H`9jW-fMa)Wc6j7%+xN8+9m)H-T!d0lDTm7M z+sh6i#Zlbi^f+^38XlR4TdsVI=@n!r>E`X1`9!RRdY*#;XGwTw%NZPSp{l z)%SeGvfE$?6~>(A#dVLJYJR55in-lEU3l7OHPLLMSTE_gr3oUwqnFjAAtkNnSNq7scFXr7UN@`0)_~3A z(r@HAUaMZZKEH{9kYZZtE#vrvEs&BpLj_Z0vylZ!`_+ATm2XLKe*2Ghtu0djNwpKN z(VM>vNG#l%N;dscRgch61Q`x^P?s%_yGPezD4I0KW}e>u4rF|=6HQb62C3SYgxwY` zagL9tVcWuSc4WCaqsJx~qAFF-zw`@}caf-P9L&ArCa3Pq8hcCkdQfs|*FQa)E`*B~ zsZGRrTc2d6305%QSu(k$@&{Jq+u#PTqC0hoH`|{`QYNAp-W&x>*rQzA2i{#fse=#C z5~vqR6gio4L4R@G9Dt8ZMy`I};}veX@RczE-J7y(d_uYWE1TrK&0Kl8b0Wo!b} zZG5FnNe`!*%GuhOQ5Lb!7qHKVS6tHvCjI&Bp3HcOSR5Z`4$OveG*hXl1ZVgMGTq_( zf(@K6goAUZA1<7*;NN20eWhd9L=>i|AIknac<-evyJ*#T*7$5vDP=R^PYzE8m+9b} zxq2nzNaXzsVM2?6(tNCLWtnO@g`;Y%Y>Gp)gHpCu3iKALgI2tQ%->crVKpR0BXVJr zL9gxXRA}b@it_r z^0-IsHRVi7<3dHvWAG@1WpXvW_iM1Mgzd8T_ub4124)W%CCkn$eS&E5y@0!L)z`4x zhX0mj2zb2Rmo5?Eb8E|@Ay$aLGiGJ~tB|bLsP$#-Qsfru4w!SdJbBWDlQy$aT9iXP z>tX3IJnfgBe5O$_FmKD_85|@c7$|t*5g&!GXS=n_bW;DF53Y519Z5A?-=3V9oA~=$ ziT6%ulx59d_za$CH^xj>V>gQ|ZtmNM%d+o?T*$(72lfH|{XjW~!ADkQSvABuo;XH1 z+nnSgq0Pe&dJHL@_?FTu+`G#us~)V>cYD72Fmbma-_DcNFjPND{o?7V_Ggm^^Y*kS z`lE|A83VKa)oY&eNlzRbTm$sCLi?Y_8(k+mD~TuLE-o%@+660p_CKB7+!ON@sdnbg zm`yvYnjt${S{ju0niDu{k|sp{yvd%+CnH!)Xc^HxenP{&Dit*%pI_FTijvJa*V?_A zz`h_+(M2s{OYL@L9c&feHE59J%JxqOBSX7^Z_|ex1qJ17G!7@Lb2MPc8f`COo7Pen zYftV&!0GzIX=dM_u%aeU)B%k!*3Xt0O8Ji^%Q$d|;~o&l;lax+4)1l`1G6}Xe&ZN8 zCDJMVn3w&TxBNxcBpXU7wtrANoi&UsZi+ROprzdC2P_Zg_Q40uRWB4kG0zWr%DtTD z*Kg&w<>TJHPKzi>bJjaLE<{b6!Oj>QPu-hR^$Ty?;iGiHp<0?L9P1K4qc7rhnX^`> zh|U5Ha|-q5W&+%`pnH1(-u8iBYX`F<|F$D2xw|4WJV#bs|D$dzdsoJX=E{D-#b$XA zMpyyA8(gFEQt})podgbkIh2lsP~lz!66Ie0F$iTdZIbRc2V|`+)|@lTNK{ zx#5QIln9pvT=a+=yC>=}8iXUQzi|9HKK7$n!*aHz2^~8qb@x4w%zondoJk~mY~=a> z<8_@Xg`Jhpwy4#dmz}g$V_6GRvn-wRF^Srn6+hX}MB1b+qq!)4bX)m0Z4*rqZsuKd zTLl#FDVN?Ue2r=-7C}Q-MnFvav1wO~#x^3qlx3&_fnJLUCLB@C3-IFj=ua`ymC=ia+|ObpLPqEZ1^3T7VML z&KpJ(8oAmS%xv1fH%pU7HshI7jfl?%?9M}bL#`7>M_~{(e;><*B6aHcL8?$C8g|b; z7J4yfMlTwH02-_!@lf3eYVAPQdiKm&8Qcuq%MyPTe*9vY=Ph*-AH>8wjJVW#IpH-n zvS~6?Or-91_SLFvSmh4vUBEfxV`rw24-(I4VTcm;L(rNMcd^jyho{4vB2l-ho*6}D z-Ld)6F1Bky7B};Pl%D0X=H*tVuQ)Cp`du#-+|+0sI3Q9>aZ;mwpBIoVJ0JMQ@n#ESVpP^oe;Cwtg`7ZPOkXrMlWjn3k3>M8>8mAbbm8 zgcc-rXrd+U-+-2O%x7qB$L%tcST;Ey^hTwGi9t0CeL44d_|aII4gO^V-lbje${I-> zozHU9!)3*TW9y^kbR^1QRBdCbY-(Yt zqI*9PnGBBioi&o6;&hrH_8xZ`;CTvGXv8)De4KW*4?3Mrkn|+QUx0Qx;@Mv?bfDsS z!WKNTVB2xWT;xP((_vUE3RTgnH!^}Jlbks2>4nF4(xYb#*k=^zvKea*2{`kmH1nl6 z8HPWmD5JRa=yvq4un6BCA|WZ{5Exv}Ob*W`)i3=TQ7RZegV+sUVEl+3LV=CVpHwxp2} zd6rSd+GHh^?esxD-HwuoS8 z>*zRaS52B_lRyGufqfU1D<;KP*Xg;b#wKEl8tV2F?^kVkoaU3R`+n zh*$>uZr;ffC~^{Z?nuP=dT;)a-V&bTvM|6$UdR-=sm+;~ak zHhMop6rNsOp8Qsu6J#}eH=eWe1C0F+GCAYJTQF=`0G8r_TM|g@5fCkmtHW!H+4?Mw zoQ$KI9>6N(-`bG$Z@{qmG3MPZN1}Dt?+%mr9Tf5RDB*SbAs=tr^t4bZ^-z)L$c24c zSNQY!9aBHN;S2#g^*h1XROH`}j=)N`6HF3OQ*4*%*zYdlo(Rp9Rn(9**s$lmbIut2 zjip1&YY_b{mYDSg2g;QT+5J1>;|n<7%MFlD$m~1&>&}j|SHhOdu2}%@MV!Y<+8cv!#>szOWrry3|025y)q!ICD2k zP5A+OKTrId;yTJh`4zYCi&SHtsIJ;|?@!!ozgh0}q?u}Uo;KflgKa!h8+&B(^X2_6 z8X0~4`H;;Z#s_HIDQA^AC;*B4jjo^wP7zrTAMr#eC=AkWRNR|rqNt8C2RAXaR*Fpc7QY6v$f^&|Do!w!>W#! zaACSrx?8%tyOnOFyQD!j-5nw+4I&^S-32!TH4?G6sKu;7?~oj>3}=zn)U#pvlgY{kmjISs&=szWCfbE!(~6^1*&pN2M_Y-?bd`xh_j)hsKU`3Ca5WfU51)vR1nZ?5Z}S8 zXR2dnswawO1W@XaQY`RJA6>1t?R}Beo;YTVS7`))hj`|d=Z}`*<4Ab>)APdKMS|8h zv@74 zkS}sYn`^**O`ipzVFm!VN6%bOWpvd26h!VlskzS5Pk3CoG?gf#FSxs~SUb;7NtVmJ z>z2< zUvG81`V~x~=OXxzXU}*-rR45YZe7zp z@q*Y>UyCfZQfdUixRZ$b+WO2EOsI)sN?!M359lgLp%qQdQv?Rbb}aMBFFQfPIh07y zs&$H=eVZf4ck4;qNSX4he0 zI!%+oDTyI3ANxy@`joOiBDZ)}BvBi`b=WX|~o=`+T-_d?GSGgx89~Ff9yD-pFZ#|0R(hJL~vn;VZKc z!+})k{?g8+HiD~tKM{e4#6MfBs=8$Z>@x>GP*%6Jo!xGbaz+A_Ph$q!h=aOOg7{J; zWn>qiwggf41#ges6k_*6_AnvRv`C>s0=abDDnu)ffI)=SmNZ_&VJQA03pwQI=$c5N zAqWYkrrhiLB97HfN9`VO@MxhGZ~5WSm-lwhL=*pHOcvW>sl$(?(vvL}YXO`Y;GV-B z{CMx)sbtqLhq1t*3>B`52O?9fbQcvmEFb|CH|P?3gf*<|c%+sPoeg96C#~@|qr0Sh zt!O~nfv%gmVfigg38vdJNZ6yeh~*`Fkp{8Z8|W(Gyu(;wSAkb)K&)Y6(?Ev|X>F9<(-_Jaq~fI7MA$HU zyrmt_&@7FTt_TI+HA_R4OG7m)qNEA3^@{~d7R*Bp)9+i3F~6AJ2Mp$nG3&HAe6L^< zG>SHPie=320q!ThFH+$Jpyx@DjwabAO0i&b&d0_h-Uj5{x5t4RFu@;SL&ZWoN)Z1l z@Sb`>w$oUKQcC7O1pCXq9zjulmR5}NP6fVGCKe{ZO&QAz*?Ak~oHlnu+O@F=XT;Oa zQny#;^H3gYdihtE`TV}kFJ17|;z7-)Mx#l1O>}d6D?mcEA0S5*FJ2|4PdR?84!U5~ z(b4%(g=Ltrih5^(-ZDn!)l2BsPw3T8=++Cq6P(ksMOy_k)*jHQ*4`L#p9+@Xr`6oR zZ68C%HoS^|9E2fA5yDis_G6!+;~OG}bpA-f&M~T~YK8Ag;ajT?XCr0*naxecn31`j zMDa@o$GXKuBqB^j%x6<1m*462!ktZKjRlEG?DaU!H2V-I}fSnJT650qpwz4a+sp`;h; z1i;xDYAj0An>n+!t-H+SuG;0QMLAks1s7?rP*0Z=H<|3&yN(S zIzh3`LUTv+^AG8wX`WAKukOoE;5()sNhI_e@QE_0B==8bfl}G)juX)2qnVnTx}K^I zLVV{C!5f<#POl1TFSS>M#yte>F4!$AXm`|@eiZ16W+T>0bqG~56n_ZEU7q>9oRF!W zl&T)1RkuG*j#oR@oT&S98QI&C@l{b(HThbJlSk$eo*+=2vHh$a!4wCohN5nuJ6G0787u_j zKSt0gv>LPM(~IkcEhK?HxO9d5Q#(#&8{cS~U~YT)#YS;_=a(H2fn`GlkR7>i&R%s) zv|?5_b;Xx_K0B5qs4T*HhCI)aiT*EmT{<-bm3-(lFNYtq)`n4{`|%y!2n#icCN+x5 z1^)0HEiy~6^K_53^=d^)uZdpn^Z&pJG?`%KAJQbzEFO{19}r_|p-7@vee?N}f8UpH z4V{3|LbrF#VrCft+h4aIG$kbByDzv8t^zxtoFSs2Lmhdx5BsaoYBQ9`Rfuc5KA1Q> zdCD3FQYzwsQK&JPgotDs*Fc!I?P0FDlN#i5crJY0v!qWgJK*i9XBAazK6}Bt$ZYv= zdjS;>;n7<*V4!GGx5eXjLk`hkiU6B|3>}(bw5Q3E4i4R*lngoA6S3PQj4P}>A|CHrO_pnP%Lh+i& z^wXc@;DbkuI}?+K)pns*Fw5%9F+wce2#ol;7V;J(n}+Bb#e&i}2nZi=E@#PVtF~~O zE-3rdj01m*6IWtJ8szihjd<8u8vexCaEJ;rIExOy4*Y>M3s3oq|IAB=6eMLHLgXz6 zP4gPs+V6D828OM9Rx`Wr8Gsf@-ZW&OfAeasrhabA~+AqEYV zE=VCIl*fca!mJC&EYDxeqw&FvMY7}0M67}HwEpjfr~0?%j9eaPO`vZIy)ivBTuHoY zaia+W^3Sr>1>n4%e~{=f3`S8udcZKAe~+uSmNHeYW#v7^_R8~|+aS%1I4Af<_1DVc zM@YFGZgOrbmfcU{Ajuz-$kD1Ctq9N}$McI;ceo;)rD}&BvUaEA>3pNv&IhW9mqwUs zIg;>p9Ph*5ZR$vuQO?IoS$QMEL0zW?P!Z{;DMcHN5`o8(vFd+$;UuoDY-L3U#2;% zBBnS7BzS%@1qN=#V2EfhNMjNP2F`=NfH{8O0JlL^NB7&2@C#Y+w=tpox4B;wbMUGtzv|qC62NGanb{f(*=J74`KHx_ zpak1b!w69!Y9EO|7>5ZOSwfl=z@(fp#0l|Bk2DafC$1kpWwyx} z*&8hS_}W==41cfp@B|ZUmR;ch7uKIrj{Bjg7qrpBfU7XN&`f39<;Ui{ZgY4gYl*Re z9(k-M%l=ri6}a!+2sccfrb413|KX}#3s<2|Jx4{Oa9AV6@T27@AE8x7EirGRJkzvM zJ>l$7UBbNYJw?u(uk3>0lnzFF@g8}H(9ZG;_|4W3AzhWnONAjt% z@|}SwFC>7Hyur66d_VMs0ID-VxvQYAd|ITVXS61=XKT zM=v4&P4ZVwZp?&RL<|A!`^PQjdQOG9&xvlkj{DHx0DSnwGcDAx5TN))YIgfO^SRCJ z;U)6%VW>z)Z97uVB~{e?vSfl(l4&$A;m^M8_^p+eYyu5dZL%&zIM@Zi1fT8j^Hdo* zu;R%+E}?or0a8OREnP^<8yg9h@0PB{78Y_dPPcyM#e-e4)9JU;`U;E}-0Ihe9MCI% zf?;g|>txGHxB5l+G|JC{p6-^{L3dPD^~SN06ililQxmqi#)9EX15>*xd>2B208?q{ z{qNse_xpB|vS37}(Qv`A&%s$dPvL$WM=tuzM|1VL+1+L`)x$glTN&+>C%EXn& z1#=%CK5YM4iVnR)pdR4?Y_^Ey$IE6nA#!F`UohAlsvcA)f}oMykGF$MK@s+`i$AC^ z#g1F9@2XA-MY2+iig)C+aOPB=WAPQGBvzx>x|^pU7QgSho9aee$soVANqrHgIp<&; zB0-j6M#0+<@q93PT+V&o zsQx$I6_nk}cQj3Zc4?Spa0uRVFYCs+u|-h1JX&fva`BRO{o*0C(mS6k7D#CSLFf1B zkV35CDSg&UGY8`#3dyVVxa=>`aOnl?t<*_Wr-6PVGz;y13$eyC?SQfAm=JO}d>({I zgwp2-r6SM1u$FY|X(V_U|NS&-U|G?}ERXK?>M^$gasMQu-{Kxz=l==*r(unFK`U6` z+DtY>JZQx*!XwgoXiyV0wnWhCvIhnmtPpv41h;%iNxhAXHPQeeFY?SEMxp$F&n8G| z0ifa@Xs`Bzp}*RCAN4A~&2(Mz1JRk+GRV|F)R324J`EaQG|nyB-3mWXd-%fSRvjm<^cS|Jnd}>Isqo zqzqf21__0VX8ksc0dtpepn?EED*v59&Khc@%r$iUAC#Vk60I$WbPH5Zj)5r#YI#Lv zl|vwqV<7m01g#DX4^Qr0v^?JKxq~%UAO4Ah_YHtop|VV6=Ob4D_5u~O#|s+0q~mrg zkb?O8pMZ&}=1`%pTZJKKfpt*V8UW5Bx@yWK;%_qB)r|^Z0_85dGA^EiMk06x2=xs; zVTLy2FkNEU^~0x{x~cGuEd1ihWq4)t(f#b=LX!)TvOmOy$T4R`A<;;Cfu~hSY`KQy zd%Y6vV*arHVxWBn(8j$WzzctQSAiB5qOB&32q2fq7w=P@o8h~jFbq`TiMtV{gP9Sy z`Fkx5Qfo@9NP-v6xR>@m$!na;Y7F5Zkf>;e%fc)(npwqNMsUVmMsW^cSkW}Z zO$KCNIJi=DoqS(MQB-I9NSOX+zhzIOVzig)=~}VlbeMHrL~3fst7Riq)$Kb&=7)VE zLWSRZ}KDoKE4&f?wcPi{_UA*Y33jW69Q3GYr07ebdBN%L&KY1Pm<$) z5rsQ}?8!&P?(BWzh&hc3maW6cN)sW^G)t`9qKvjedsdJlXac1CD4+z`bxLGEfJ?rf zZtjZw{rh)XBfIW?5S4_z!`DsV+m(+vb7HZ};Ym6!wQGIC=zz5!KSe~Xb5m` zb}P!DDvwE(zU3;VeZXMc01#ffGLO7}&%0ghjgu?;(yTWQ)wBRDUtx2w{1-%!ASCh< z{pd|SUHeQ<<>lkE21;d%Es}0q8yhR2V9*POj599Oo>^Z2BH0=g94#x`-!crv`a>@k zsN%2wSko&1)0w?La19P0Ne4oGZ{;+q>dCgrH?BqbUh1qG|>-h)|wDbZc6s|wk?Sk6W zAXx5~V3zOmT7kr`TW70K*5o6IGD(#sncyx()OCyqMactD9x}!PW8w6)9#m834QQq) z5YTb}4+ErbN;UC|N##axY{HViK2&h=^req*1;(x|*miK@&&DhVoBmBW+`m6_tE6Kr z^|H{B$E_vsZT_y}xxrB#!y&9*metpU-(sUoBmJXw3$q8`d6t5xaeAO_+_iX4OF*wy zUjF4QUs zCw7sChwjnVz}3i>!nN61FLiZns7fXDLzkf8R#sNl0?D6T_W=@S3g5P;h@96Acg~>0 z(PQC@y!+}vX#Y@3-F%-)!bbR64RV+){H3)6zRGCRhD8zsl{|p$ctbXvFqy_k-d0bQ zNZH9HDIjwrhHAWgi3wF1?zosXRxSuo!a;zdqo9NoKtsv?jqPEf945XZo4gz^qKJ(( zch`SG>MyuZwAytZ6QIeU5S&QOqJTA9;wzg!7oi<*xBlLb(fp&Zq)oEj=e|`gD0!y? zWE8W2B>ekoV#f<`l=z`|rc1N1geXb!J|NW5F|U&>xaU|a`Q5_ucJ$YeLHRQvbH%$= z^fjy1EaL0BN9!?YoU8*5jhwc&_U|iJ(2{{tUI1X8OwVbvi;1{WpdHV3|4Z-F!I$3Y zHd`fl36@cg(fEk{_$_l&_s0m-vYhwtj{&^ZqCW}~tYjveVHn`kt$ui?X8CJ}FU5ug z+Lr>Q-x#Q1&kl}esn#k`y#5AISheQ8VW{;5FQF2D07?lR?h+D?jQu>Y8w|h=0IB~V z2>pUP#v{;9XKT5R(cI%t@f^%TJbCr(%3-7(anzyw_7=$K-r zwFo@59;j1;qPhCE8HJi&uQ?7l03@Kh0iBQx?9QBP1q6V9pB9J~G&H%l)y*G(#2Fq+ zdTwZXF1havWR?JDCz|({7;hD$l6tc{@*$X5k;U(HU0-51Z;ifihX4n=zuZj)coAO# zxy}s;s{lr6gba;6A1R<9nE%WbhRXEnr`s3Vv;hlP23><%d#5!-qq8hnVrZV&{yb> zzp~Z+@F1l(Eh91!5ZpC_JPXo8#|Spij*rvX(I$Lm-R@FXWCv~H#ECu zA;LPTWUl`FM)d8$oE$6K9V8XxVsCK3BFTXWw(wdote1MyksnM(2Ukamc@9u!zIPJp5ra)19;)4PVlU5;;F#dDtb-*{7R|btA$bWLL?A}sSwx3DHoO<-quP%dbi774Y_+c8RYNZnqC5~YJdb42pVABL3`gam=}x~p*pt_ zE!78oEFgbGHZK6c5hw_7I0&%dA^^~J;ikWypCRvmm&>pL3ugKB_y84I01q`bKOZke z4O6Ox3JUxHtukQx3mEtyXBiJYJ{snCI5A4~{nxZDBIxy)zacymFcI!tZI?-td9?9g~98~8OJf^-r(S494J{qEz2n8V8Th7})-rv02 zB#M5QN3UF7Q4vc457wq{$7>)d?}sg~?T`17K!?imaG^B|Oq@@<_F&oR=>+#6pzQY* zBz84G4sIXR+QB&0$eF#DJ8$%MxD4TaNmVjzye``;SN*|B=9ts&R^CeXDCM!{Q~t+xFkesA4OOX4Ez!*F&MndSWbD1|X;etQZDJPkR>{Ul{Yk>Vnb z`teu3nvOJIl&+}t$KS{wxUGlY5DQ<(_}+QX>ZJvrSz`J|4qYh3fzmcZ9#W~Fx!G5q zBhm}0Gj;VR3$8elG`^(L6GJKSxOV?xV;Hv3g`>3jHS@NT`h9mn+{foS6Z45PSQKAJ zqAx89N+^n-V`x$&VM%&!%mvE+#yG$&_-W;a3kOirLo-=L+T}DdA=D@jGhrcJ!GX>4 z7Cj=U(?lh~qCw0Eceq7u;@i?vq>IZB_V)4wpAsWME7vlr7KIlB{6<);lZpNfcjxdh z!{^@n&ZlGEAbC0jPiujS1QTPe1U6vV`#lpPuAhlxs z+zI-NAcVryOO$rRB}oTaI@?OX-hzK8#p-u2Y3D}Pc}YRy7IXBr@pa!~(G?l>9z?}4 z-a{Ww0lxK|zhp&(eJI1UkAJ$Jxz2AUw=ab1guxLu!s?|@H<9YJ_U^93#JeQvIp&X&R3>KWNetv(90!ihbF zOiquT^R`vg#D@sJY-^2Apt?_^Un!fUfL)>j8k)$Uw+w;fXkiGpCeFA1F7;(DhQKfV zTIND4S5M4e)vu!p)rerg1pnfPku?~3t&S`O|@TUm)6 zpx*^9%Fs!$LVwe=k=QG%s(x6{$NZMTj~o&@v=txlxP&!Kia1JTgRjHz>k%X2DSo0E z@$kyq_Bc1I#7En1WJ#*egth&W}zz_gV%a1@76vYEdSr75DyGiX>!XaW{Y)Iu;|muezJGU2^BkjDs7c`ne{ zRlEq%gI5(XYW)n~`xc%nkp04p9B3H;lp%_F42b#>9Tj@4H=6e^!Ot4_62CM>?jt3s6VX%*h7C=LSj@|t6<_&K z-%3hB_?KvHwvUBvi1lk<2OR!3W({J;_G#NV3FazYXa{nhDG?;VG{VLKq!Gbg+yH&G zbyY<-Lfl|-Yq|`cTbclM%##nY;pp{t-iX43|5mBy%Q%f9nc;J(foKZM>zaD3f(t&Y z_7Y49X0A8g^w3lPO=*beuGlFY?uk-aBQUvg9d=g_-d;ibZ zS7);cxa_ZeWucy)h9wJk1*XHTUe3D?LaW2j8Yfg)Se;3ZPipyk-!db*w{Rm%HyqyA zf9&l7g|4cisUnx`w5gEAWkf(8EYYY*4EiQV1pUbD#A4`6Oz+u+H^j#C#yDv*Z^umV zl5#_InJs3Mdf-;x29$f>Y3#ioWUUf4pT4n@Zi2y8O+>Gq6hl_r%3zqPY$^2@&&}^O zvq6D7es=?#wy`L2xMg0f&6+M`;lrSoWr7N`?bUK@`chorNHXE&g}2*KPy{~@J!TX| z)W^Z2Z=ydg-juaU2&gl}WjTER_PfuLZIttCSO?taN>h~h=Vy%YXc4m4E%mTRjZ_16 z;_Lw3R3f;dpn-*b^V_cFNZy(RbX>~?HdbfDSaOYPaTNcimv%mAXLI7qymS@3yzsJg z)o1i+XkIgS6(sMyW~8UWEM>Cv(`435*SFC1<+?Ub+^39RC_>!nW z^82Ji>5)WI{-grkSiCKrwG9wze>GZHRYBKZZbG^5-A5qLe+O;V*8*Wapua~6l~4k; zEN;7>oKC)-debebXV?toF~Vs5I%eJNLKr_?*Wnj* zc@+u+>M1=RqxxqTbfS?Iz3xq=!^%-*HB@oZwZiaf;X*LpO=JHJabH^uB7mc@S+*p` zH%i;7GB9TzK$V{o>a-U4Od9AM7<>$~J10SOW!-?rO;oSqD~0p%2nP>7I^@k(kHx;d zle`84&1YD8?*^iK;ti(@109VR2E=a$Df%IZeu(8f#@d7tht1yR+D@2F-hxE~e`3`N z@PL7TEV_}8VbaK{6)Hn0Bly+(KJJFAg7+!1SBLsL4=K68{@zaC+)`BMB8B}~ zOX}@~THU8nz0WMwear;BZXgi8aLhmEGl47Ox@`2ZR5ig{k~BzW_x^zraT|S&i(u|< z$gP$SHFP}-Wj}76I16=Z>3=KjkizA5bOuz#SCA#IVM)ozPD(igQK7;s`F@)uNQZKK z4gpSgF56ggVQ0EGj4N%1W-oVxQrAs;&c4R%p$e5io$VwA7Y)S&uEQ^MoVpGl-(`(xr;d0Q*ztSmfR{k~5#HdUSf))k-Ias>+} zm3|dSpz#KsmrxZ|RG@;%T@*n8^Yh~U@%vEG@pGSF`FFK5tyC~vzxc>}IXc)Y?!Kqu z)vZT|9O=S{NHxG{&5sd$(?Yr7l*UP{cnwhiJuqh%r{2v05okq3e39bq8MYkr6zoR2 zh?V#<18R+bLw_=&N5pzn^vQ!TS(Hf`I~NuEX`n&2S*+ovSpKyK48SkVS`A*_5;|A9 z4m8~oPWqh7DGch%LwZzMq>2crD?-h4&2TZ);qXHWQ>dA2%5^~MB}K>(fg6=zt=>ac zeGsCh(evqd$#6>ix7JdjS~ny$rq5A&!hyl#DW9c;5^T%hG1bUODSY^ZoQ1{~6Cu%< zF0UCoRyCfLCgj1GJ4kb@Rg@2WigRRRWwWUMS6aDP6aY`toAmFYdW(J*b=UCh@fqkD z#;x1wLQn84-7Ha>pZfnX*@slLg*$KsgSPBjKsy?=f1ndO7T&BU0w}JUE9+n^ba5}Q zi@MFNw%TDr$kPeBjf0lU4>?C*VJxT@P+R>esQsh9d}v1~{>xb5=%LpN>L1(o-x#Z2 zUVo@UMUKqVD8KdBofAnoZsiZ5me!ExfcNjG%6^DRIgT!Ul6yNKY`M7SYnq^7#z775 zsEJswg&c1bEtUu?FM>CGPN+lb$vu)5Et~;ItTS=-Avmzpta+;0+}MQIhrgK)CoW>W z4lYGEq@18ouo6d0rDkO5(d9!5-D(>X{J2X->Zlr_xsJUCDTUGYY?w-}DG!-n+xHtA zoi^n={GpG=?fx5;Jo@^WQ058)bOz`TlABf>d8GY+hKu*79PUa& zAO{nQ%7L<};bFw`g;pmJ`g-#0A$P84BiG9xx2z`ADbKhj*Ji_v{yg{&{k*nnQXeR? zQ8-=c$~^XZ@UPt=-zaKd48ckk?G>jL|A44_Zj@FtG#6*a5yVk(o9|#4)y+?p831ns z%OVY1C4=}*3%ybyIUo_1L4!B1v{){FPVF(tHS~1@Y7jD!M6X2-u zNfMa&-)mTN6-&8pcW+}1jXPRsRFu6)b^yR941}@uv#&Dehufw72MReOu|COU;-=Wn zuv81ZQYwSmie4>+$4poUlf`hV=<&71<@l^|BQ+f@2sa|KamMnC9N0~Y(b0c2m%~hc zP@qI1V`G=-vDCDDW_nhmpT4#o_iTgo0(FEQj7X*}j&*p^{kO@ess-p_9ap&qqC-*3 zyTebN&YU2182BLjL_k32oyuqXk1)^DAkBvPJEKTsHLD$PT%Fwy4ECZCIW z|Gwa=Jh%6lJ5e^~ZE9#VS9QX}I`>hWc}5crBRok}I2^aJ?5NUkInJ+@f-8s8>xS~P zhKT)fDWY=t?LG;uTuc~BDYXm(OCe$USd0q5nQh}cZl^mE>pEto8D;4h8Soip=^CNH z;D@0|<51IjM9JX7A)si)(8|H$;AA7y)O`V1DG@}alvT7_3+&q!wA)oQ#1*XDRV>66 zRKyib|YrNr2bnoTAVP7YumL5)GL$9hqva-g2$}LaqJ}<2|3jYr3a= zx(EETTu;8~tw>#xLQx1#U_K(sI44oWtS2YR!x`P)#g8L1$_(o_vNUgGd$$=7%+8w_ ziL)<}!rc(z-EJPh_hW>+4Ed%UR^kvqL)D!XCj`vWfKE!0QnXMvVqgagwVqt&UvJO6 zA)lEz;t}`b(b1w4{;03hDf3`?Uw(zVbh%)+-)_P*kfwzAX{wl{dE?;`CxuRWUi?Q>C(%B9&{&>t?@800tH0#bH=nZ0ZzOU2hOt8bN-$M zRm2xRU+H8kV3``5oN;SwV@SfeMcyB)z#^35d~i>oSz;7G3OqMcLJC+NvX_Q|dAc6{ zm4$zymuVw~g({^414oO{jnc~sM~Pdif=7r?WD%qc`w89Coa+-V4n2tHU`!*J23s_B zAXhessn5lA*aVGM|L?X3PSl?swROanlvLS^BxjHw=g^h1L?A>G^3cAQ|t@zpb{Ug#WTsx9(hpAc=#ecX&;UjgzInuK1Y&-&}+EmmN?f zZI~sWotcY#sLB%>n~n{1F|psTrCCZw^I~DhNFy4IiWdGZ2LSuP_NMb4-e6{Gj}atx+b_ul2?tOFsrA&<0sl ztpXKvS4Ss)8tdC~RrO>5Wb5@N&n=R+KjcmS+f`#=)nn|i%n2#@3QAaXY$GW&(h9qS zV(JRZDS|RyLio6}AeNPuhp1>sfv~5^1kjWzmE$EEPGFD1RKf|;2gpacwt9;xgA2D# zZ`=zz(eI2z=sJDoMcfOk&>zRfj-kEbtu48*>)&vroXlVE*8(C06-2XAJ%e077yJMD@<$@@G^)pEo|JG_3+azf=pr4 zv^T^M|7>6)xYu-&-ObZ>PTxHu<#t_5hBI@Ka8-YRIg3BzhW>~{*T^e?FAe*z^N3ht z`_jHAjB7v?+W&%FEIXW_Z*8Al@SM_U;6V}PBiW#dy1@P8%3dvyym(yRuOA?2q7yOo zsqI2$Un&|=tL#Ftogm-e+3m?c#Nrc*q8b#(!LqWm6ZP?F!hUb&&;<1pTLTXbo2KHq z)aZBUwndZnVV3wbALx~95CgW)TgTR~3g@??c(=pxO`c0fVMwLgD0$EqX4;UXl4nbD zwH)Pee&>;s4gtVw@G>lol&_LcGD415hz6_&kw_1j+{vl(DRVzvk_`O|>~?%K)$+aF zZ;wq%DBaKyVk9ztaJiykhYbSr%2Xb*<=z&_d6xdO9ZbpY4>)Hkr<&=R@bS-ioeGC88f7t>rTAnlY2IGH4W|#zQfN-nwtzeIy9O!JO0`lZQX= zir1?k_l{wQ;#nvs&wbYO1|a);u?Ty}{_Tp3P82X{#W8=TUqK5a_Z|1!-mqvFVy!!G z06a{fo%Px0W_ie$Bi94Dz-IO)Y|IZjF(9)gLZ99u+_DOChgEl0`Im!*bGb1VI}~Y5 zP_-ocDrHObW3jJ4;#ogrQZvPAYw3U7Z{lD3w#i<*^Jl>Fm4>^s$}m<0*0;Q1=RdJR ztq>pQxz#HxGj%(*kmdQs*oQ?E6s3OTbWAM&g&I?K77dH0!Z}O%bYbKvLU4I{yQfv+ zr40zX3{lz0JuaLUabpwZ&TgaDK_Cr%s4{uGx2;T{1EH|r^~OM3yTdn5C?9Ra zLfv5XVCS-*Bnh&{_37sHC^l%vyucDAEn!S_aho06_4#&yn8yZcDL!hHgd2nyXtU_E zPJxs3$_ix@i35~mq>z341jIc7uv&OgyD)_~h@(Tl5;0KmFsHZD@e6yt9!UK&CaeCQ zyqJ%Xp^R#n-)YW~oQEbhlG+!B#(0*a7XmFd64K#s@}tQ+o`pHCw(Nb6m@)D(Z|>w4 z=xlq#oU!%uh2hN!q@^;A04L&YzfL+d9wTOD8i%0c`bpRrD&)))ps!r{_^zdN5?x#_ zeefrWrbmrF=oE53LL|k;Hu{Kzke0(X4zm=eQcu93fQNRDgue>_24vegkh`-#%vRySm>0Qg(P$aObZ7+JMPb+9sc1 z(>*tahfUeuv)z&gBKx@vveC3yAXH9~*k!u+&XYruB`?X&jFv>C%`8?K49|wA>;WES*aK+dg5zqEh zz|1}5F{3WPN@=i1d~U}%e%y*-;IZD~49V@r5DwjtTgSRNJ`SC+oFLVVbp2`a?zaeB zZ&7Hwk?^II8TjnPFPXUCyD3b4o(%vO?^XAbpG)!JLhS8Bw!7b1UO%sKv>ho*{NmGn z4O@xCT#27&m^TIs0h$*QK4}8e*p6nQAQsxj-Rmt!?-EkQpij66u!y#FXrl_Bb2TOG zfviG}UjRrv<>78#1ADmbf0Hv9%~6JIqK4fx)r`SB|7oU}b|wt&9q!F@aSu$0y|)U} z6fHtzNDVbz2$ypZXIlrQ7eoxy*~k8Rmke&nE2V0k5?`nguz;FMc2zl_v4%rZfF^H2 z=d>a?YQ_&v3+MkzXO4uw&LjhOp1FNBJ}#{z15lI5Ab{mSX2e zm4E44%ttC{6^R|+5gGZgYDs{N@0Y6KP1uRT(2_n3`8b`xG0n;{ioLqJp~=p1*Rdn4IIronbgGP86jj;5pH%8A`7zWeOgzMz)?8~XzvHAwpyo0Y4r#}Xwh9e+ zYUITs)-^da$2ly-^v0U6*<(h4^%Hq05|1F|j+PfGVJk?Evs42wb|h0c(G#(&BO!Qa7P;?4pX{oZ0gCeiCH)Re8(ldjf~#e25uc8iOq z1Y+J;g^mWx^QUT(uvM;(P-?MI@F(K!R=l`Snk8c>uX=DgyM5aPh1%W?IHsX(kYEn+ z?!I-Mr2AE_82Tq<*xvO5EaYk8y;k_YL*Ti@KMRWqi^-01-1pf>gqdtxNA6jtA@0KZ zbH^#QOWHvlfO0GWzs;%YmsfENY81GscYp;y-QiiJ`QdUTRH{bcFrbm8KJ?Bl!k+V7 zERT{kPBogX`7UrfA!;)Zo`a&+iAba~|AX4bdkl4^XF|Sxd8wyJ&x(_MS6pC2U|`=q z!6CptoP}(ASqCjIblm|}7qQ-zw{~D5K(76Q1rtMsfG_MBnqdfeDh;AFLV!h!NziOw z*EZd|)hMdh*W)2enlq)EEVr_LiKJ267lk!JJsqL*aPay1BEa;b2Ouh`Ke2PG$yfO+L>QlbAwj@t245I=qS0JyRxwpnWb4ghU9c#!f5 zAR!&T%qP6=53<%ucFHjjEH_^6b>|?0l?3;qe(WF;>aUfjl_NIP9#4 z-l;{CVHHs2OTpwz;eZ<hsjCicKU_*Hb@adgMFd)eklrZZ^kojVeE!E*#o zK+>NHM?F$^a!MVwyDfM@Z`!o)lZadJ#v8at3@F;!rDgKUaL-=UYa7QN2E+VX4jBvW zJu9UgI+T>+3KVR-NCdQ~H|IT3vkfvh?i2TCzkiSL;fQfr=TqAk>0lfvOZ=%IKuaV2 z0SZUaCh8e~r8_qdf~a2g!T`4bg`xc>R-6z~;+P~Ns#d5spaRt=ggU~xBK?ZI z8XI+TC}k!^)p}TvgmAee5)g13>2r$(2ekP09MXsWqLg|%Ddptd$rFHVD+l7z{}I)Z19yD zHF*>x>DXY{4V?@G1O{fpp9)|8+S9X+oQ6<0ANeecJe+O7UiIT%=`-Vx_lP~)-c4t* zzY9Bq4TYG+d;t%QUpC!D1Q0r<&%jGBPy{K9@!#$he-8;2#eGTEx=U`LOE??m10z+{ z&cS|x@?M*|QXL8Ih_d!8_MZzBP#|%r@Z|%LxdO-KxR;gk3}15Hjf{5DB6D!jnz6F0 zCqBPW4V*|cDhe^eMLmrD7baqu+CS=D0f|=&lrXOH%sU$WUG-ej$`P-*nLmF!H+W;RdS&|*EAXf!+TF4#^&8-HB2i0b1BdwWdE0VX4~ZAwl5wY zMX+wDsfvd=N)+D7zxT zKJqZ|N;$r&uVjPbCJ6nFC;qMe`C)9OjN9r1jN*;6Hm(UT3yhn{zlk`_?VjC6BOR*9 zqo&2xHB2f0?>R94^BfN3bl(2r5GJ*`T>zix%oUy*8!Wfmz0ZH&={@A11M)gaab6i+Sqz#wakRaKG{c7ormRF%kay?(XP;s|QbSke zV3hB?Kxm56t59_8-SjO&|IFIY%tiGN{QHu>)r`d@cD}^EtmZI{Q<0T6+B?5(#>i$w zf!OPyPZ)9jJ6dsZH3j}%r0km92MTvgE{m)Z%F;G5q%_67g6suxuDLqBv5(7Ot(wts z+@?NHOc)igMXz8wlku39nPN$6d~AIEztwRzUs02r`1!(${~RsQ84~ScXS9chfE%`2 z>7M!hkny*XZ$anf^MEmLYJot=I4vLtl{TscyJ1`Z;kA|+bp4NU(-v36K^IvRO**tR zL%w#$B&icc*+C+-;t);hH)Jjy3U_bpzx|Mx9a z6%C07U;Fo)l6y^kY?P25lNmF^^)+nsZ@of#1?1*M1p>8t14g+sKQyYrxcM)~@ajkC zb zM!RV?Bu_5)LINhA8`oOyg&iuKs56f+VOD9*65IG4s&oGLPR9S<$ve$kdEcj`nPl-X zzhNfZ&4A=6ctUIWa;e|`*y|hABO_##o>aR>$ez#<@W4m-&)56D|Nd{A;~JiVIo`1m z6JdA_3UM!KH_;6Zli|HP*9pejd0K?e>}J`gB1!bhlr4cdQKR~-ThdkUvoCM|8z5rp zBB2{(T%W*eu0v`yQDAEcJSyz)zU54Nab%IwZT;Z#krP*qEh|~3ilNl|>-wcj1lwH{ zxSRZG|3Ahn05x8h*sz!qws^~l_I-ccRGFP>gF8Q%Peo^ePoUVvT)8=wae#vHMrRnx3^gDYYl9I#Rgh}=Px%Gd-3z<+-yZWhB_nGzD^Lug~3MefmC!I=dxuW^s>ahGzRt?+tj+~^^Y(l~2N(f{2c`%nLT;Jva< zAKQAu?77dp9W%u=1I-VI5OWG(IV{$HBoEij>~Dp9j6*`shJOdw>A<-8nZ}DQm#<$R z{P%P5U2sE78%Nu){lg8na~fL?O8$9ag-J<&gAo3pUN4jC|4Aw&a&5XOfVsTBhiXkE zRE}B?)ghGm+OK@U@hqAk&-uT$D-pU~{)`)#SmA=cT?KC;h>M8sTO&(=9TM9415CL^*}cJ|(T zha~eRGb7xRko|lw#qa+-@Be*{_c)&Cy^a#O@9RFV^ZM@dIzM0gD6XsOVY+s^H_@!V zD?bYd4rP&D9<1n9AC0$Tf*MPX$lhjex&s6cReOxB5!dx3)fZp z;nGf>F>@CzHEMOrayU`=UG!frE)lsn;-bNP3~q+UW)9Y~+Y#w%RSameq5ZBjpUu*W zlP>fmQ36G`*mO&73N71auK4_;5`Tw5c;X!GY#c#U_6B?6*U@)-KFYqBbv!oJuB&N2 z&r|iExCXsE)-u~IExPdfJl;nAyt8hrlYDON`v?CbH#CHxq9VuPcGbtv+m(MF>(C+~ zcAJ?_I8*O=*)uYj;o1!;`;r1dOPwIjGbfX2-gf$Rpr3P~)mASwG!cku4KMsP$5$io zfo`2U3&h2`8+Z4;#l{x4PG6x9U3WMky`yVDV9%KjPWW~_=Xij0oJQ#_Woaq8r}D{+FB7gWM#Z`jzJ`cj)Q#d!H0OxeuC^h#}WJ|CZ`EMm`0} zdUgH{{a&|P=Y(X66B^b$k=$OLlr?s|vSEL!j_}ycc`&Jo*GS%;qzI|tURgb_N9BiD^h4iZd{qy* z*)7kn8{tQ~q<Q+6X84^Keh%UhN?)3{%+n)BD@!Lc;TNR%lq<=TQa|<_S+0|&U!r7FU zqCzX9L#Qa>7G;(%wns(J!j|=j0iQa%Ha-3FO_yQfz~-see30cNi?d(aGYb2q4-Hum7_zI94}+cy z7?NxqpZ1Sgt|tZfyv&uaTxbk}9d`8MN!g1OLQl*b@@`kXu;UtW*B%J53jY>S6VhLP z=x=Cv5JAL-XAz68?^cZ*SHQ>tjKWvRKE|o8F!zedt}&C$OYBvR8WCZJYx7nDC)I7i zGJlCVp5tx@ zCF~y2oLG4K=I4rC@6wLJBcJ63)}kj@M5wXsx=~Y#))h_;+v=!dm>f*Hi)Xb6Moy@Q zd48lCY;X=LI)-z_nR$UfyJc#_Vj%WJmV?Cb_k%@F7)<01WFY~_St7_t+%UoP{fEDKUiITdc+m9+R+FQTx;0UwX!mCt-Uw;>o92>?{Y9 ze;LVrWF*&hpY@o0@);idC3Q2WiE{G#b)^+gqo6>N7Ux;FS}ivK*ZUN*)7}{R6cumh zSpBWSBt7KN-LWF#8;a$w5Xj~u<1NkU5Vay-?oh_afLX_9<6>!vztMftZ%m*;4R9>s zVKcvY_D@UL;=xF=4VMpN;Y7@XQOrkA_Q_$l5B}=)-vhD9XWm1iGHw?*X5%eZoK6jnvVwok@#^0UBrLU1;LzQs zBl%qqU5tt)D}#+e-h2rUM^amF^sr>3!kt!99zn8FPKR>+0*14jK~`gmtrMG^PA?K@ zJ=a(P)>l8BN=IAS>FxHWZ zrZ%TURb|;%OvQXreskHf#Bl>ZQbrly4vKm`+jlV%u5|p0RDAd)CM4M5==}`H`=@?1 zNSQtoG}Ce>G%$A7jTh1Fl2vfgQ#raTuaUdL z^-hUKQ_fb~Y?$=vgkUFgN{Xc@Hb&E@&57ngY2*o~;alho>Na;gRNy322a7W$I3TNm zKhI>rCWSu4Ad;oR>aTcE%4LpS4OA4@_y?% zI#(`S?cRwA{qkSVK>IeW{+n`mV~RoR?}h~03HtCq?Af`B5anz10GduOhGwO+NaEKu3V&`wd__ck9Wg*|8U1v z9WTCUJL(O~uMW(ZEs}R@IwY!_hho)>jffR-S>ku8R(W;(-khQ;Z|8vHQw)k;M5T;a z@oJRZEDQFIrFOhjuLMgOy9m#Da0`C(Ryfo#u@^9r@;)S?4o=Q9s(QVwkN9lox_|f^ z8Aouv;Kc~d7{$QACUlw@f9JElRg#EWksC4KZU(9XGnHc5(I5`IFfq??IXn#-O%Y|W zVK=GczfbD;qJ84{MunY#`zq(|vF*jqBnFjWKI5fL4g$(Z!^=faseWda_~+Ffo#*1g z#cV(QCfcev+nl2F#PtkpEof0udr5^hAhTO6=AWy}yonN1HcQ>5!n*4@c|$&tdijdi zOWQBfM;d}gG$i?*c6!Tgwj2uf<-EJH^%vLu%Wnu33SanmcV=VFa=DS`%M$8z z)Iv9?*@NmcSq^P!sKX)!z`wk`KI?fKToF*UmozKy9rJhP*m1mX(8OzHD)H-mI!11- z=Ig#DsSpN6Fvk6>qoo~%-_N(+&bp*XemJ+Mv3Ld6=(W|h=aHH3ad6wo%VR(`SBta zrQ}oB<3i)8V~4V%mgfm~E)p0*nvRX1Sn&t;&RtqF6ZNbia?Rcrf7rQCZtani*<0u zb1QVGg(tDl8Z5X;bW`Nk-7*=J36{LWjx`tUBD5VDJ~T5<$?1dmBFT;T74M=< z>CT(&A6^Eht)M8Q_JHU3W@G}b5`XXwDdUArChBy%R#y4kc&=Gh0xaFer-wG-U~Sav z^IT0Q^OQSUmXImuS)aeA*E=G+^{t^6n!eXmvkjKpUwtY*(9Igj(Mtt09OimnuUiVH z&Yeq^kIK;>{B}G0ZUYm(hj3cvnTgs|G4>M1iH$RFFpZU1eKNl`j(G5VjOHdXE#g7% z@>g&47}Rj0Swk#t-rqVSwqkrV7On#km_u&RCuLvQg*@_Y^aa)6aXhszyLTI4t0`;< zKV?6k9G+`ED}&`Ogz?-8U4>bDl8zYXV-zPobc(Bk4e5CPVnp<`BLQLP1qP9!oZ7KYVdOf<-Uajru5ga!5!WUBgYEwmBN$j@;W+k!R1d^*?)h2 zyPapb@`?QG;sw>Y*8cZjDjo0$e-x0h^VBckSI1Z(QQ(T|0Btcl#d9Z!Cu)n}Ek4Q&n>~vK% zZl5T5yxjErq9YGH@1sTG?UjEg%wT7Rvqr)ZnvFQxM*L_Ihvsz8Lvg?sKkunHdh2Ie}+I@fvkVErhK44T@ z%|sX-!@v?kz!|6g#g5Ap_Y4ktA&d>GK%b8$Q$ykrnCRwfqF9#}j>-$XJV6&hNzK?}AmJ^650f_9|IZwYfrNhFgSBmckEHrd~prfO^_h6IE|0J0|jrljo zvQ(hyoY?musIP*GS^=YL940GF^M8(% zGeTho+$jHhoSqGszD>s}M)3-UqL*d}df3+hi+(ClV9U5T3KOFg6n4e`iPJSy=b^EU zRG@K!$JP?lCqZMPZ_S1Sd&0ap>d*5n5PE()&@6(GwpTC({HV@a=s+kZFCVmIc&J3u z+=%~SojarR`-{Vhq)RBZca(^wkR!3W zI>IeLWLPd;i8OtgcWe{SGx)G%E6H~7lBXY8TE=0Wnx#;~eE2(o=sAR)+QmH^UD$VI zRn8$7mT&y6{Vl?fzU8>S7#gmnpzsoD{9qLO+_1gluuPDcfTbSx&5ZNvDBxLuTCix# z`_a(4IO?tly9ga|J)&v{>>&@~DW>I@XP9bLYqpfTN|SDVCpL!&{&H9*JTyqI9RzS1~(8cV^X`{OQR5w*L1tS`1n z4UTQFwPT@;La|4>X{t>I8nlQ-L&L+3DoELJ3x+;k#Fgaz^GiCSfB)`+wimQVaXt+B z-&}LPWKz#KY_54JmegjeXpA%U??3+V6QVRznj{qeWsX1l^Z!q#oE6<8eyQnmvJ}h_ z{IROXrX7c_37xhD#yF-H7R?A$2s*#d+3Xa1Al3-IVcnny2)@QFv~_PVNsT#KFoY{a@UUPgzh65tI(Vpi3zl+jKkjdI z?z~3Ub#Gf;OKbFvenE8y@LEFpihCd8j?hm5BMc$r9|Hzj6L{tyW!=trNXru2<*zYI zDLurW0cH^*!-LK67AL2Ai(!3n$Q_A~pq=-S1(`Gp0#k%3c{2XQb(`E4J>p%^#d8LH zy_mH%7yz-5cR(9NI?*6l`c~G!7I&aFP6Y6xYm3cMKM>=*y|LT^Ae#KoDv_11QQccG z72L+==KflHo87L4h5qcD{)KU);MWlH(hrymN`O@~`E!0fXq3QQ`9ruFB^d$)vZ!2_ zT?Z$C2f}VGPJn_~^{X4zE!np8uh{c(%|=`Q*j;uN%rsAKV~p7S(2WFqLInArWgJ$nLx`Q17z6=JnLt+6o-}#ABUpjp8U_#m1!) zXcGF>5g%F@$sqsnZeYO!w(Ps^Z|g(@RWNUpQRPD|oW!!5f8$Y+Gy82Q!~)wC@1mxq zQ2jH3&1oV8bd;8pBW_?|AchiGyj!`un30+NveQt1nNKppetT%L$=3?_V&gDbUY%3h zbpGN-MzlC*&g7Z&(nLRPr*{uCA1OTtJ-K;c>#A;%MnS(=OT?1SLCAvadjv=@ zHxTb`AtRjrlyKJ`fCS8`_mzsLlj>h8~yo zm}RF^2rVCYlRF=Z15;i<((Z;^gMC9S7XxX!(~J^72w>UyfsKR@H`Q&_q6Mf^zKl7Q zgi##kdUG=L*CYsmljR+^yJ&Rhmyrr^0qc?WMVimQy&bZklD>i@3_k$Xd>(`h8g3zX zAHfMi51QL3=_HfOB)F3Rg?fFX1DUddQHn^t>R-vsO%}{x^8lLJ1O$*=t0^%A`lW78 zE=^gpyYysb!t>Ik$3^Ws%F5?Co_zINTNp?xEF=b%?}Et-R)<~#0KaU~Ayd$3LUn7~ zPn%##4m?9lTy zVU?U&TZHt~qh+d2wfg5x?{qhs;Vjktc9R)4J#zrJ=Q#y5MmbUNsWJHWu+OXcghQZ1KGd^`uFc4CrY5d zN`ec2go#gW99N_xenUG|a$hHEOI8==Yxfz z@_QiX1cn)6_pdll&4Sbk9wdmcr<){@f1L!te0gS^{weRyl5;>60I9A(_X&iMdCPUr z2_f+!Z`ET8e=Ns5+2Dz<-x5IC+Sw@z{Z990UH49*ip?94nFpg(T+DIVLHK%+Mod#! z?<3X`m$0ZPUj#9XMAu*${Dy}$Mj*F<%!s2)V0-aHaTHDX#Ckz{yCl+14f)LYUf|9s zdm#A_Kvx-E)-rVribmO=BOCrf{)iFQU;QK2rmsXdFPs6K5=MMh)>(6N^E_uOV8eos zg)5(KQ>Lef>1%3gvXTwefTr)vFX&9#Dq}J40J#nkf1s{i_svSyZ4)6~2TfDX&d3Pv zGcD4Tle-)TYV#BF_ShxE9^zl1XzjiinZs_A`SZbSY=Y13unjTBfm^Y6y*rv)Q6;nQ zsg+e;C3vwR!vcc}b@sL@U=*;rT?q%3R}gUeZ8>6qF^$|wlys`Zqte}vQ!A}TG0(z~ z56e_yD9gx@tcK=Y)5XQbW}Hzp5fkfd5S9bDa1%UBFa#b3St^X(QJk_a<1bDX6q5H04Mf#*16RmoShv+HxA_1!NNP?iZPA7{LaG|mK0Y|yVC}N9*!hG4 z%;XLOQTUhaR4n`3qYxI#@MiEXw6u1S*~_+HbB=E$U<7}Q3o%eA^(#;9^{0H z-c9gZu=jO#P2)(#;@T1mq=}PAg4Figol7kH0TDjqw9oUra!c zFbFx0j@Za%k_kCRV-$bnEL+c3y1kPXdH9?aZB2IckCp4D&0HlCi9F)UIy=fl0%7uI z1EmJkBh=XKUK?tJ{hU7e;;W@Zd~r$71H^hcxa%^o<0`nejVHGzy8|lrjALheLZjjr zHU4-RE83 z;uBwqofTPVb_^i48lW(YYD8rpOy`?%mS#t$H{*HK!>0%Z(DvQdBe#jnLqxipjMq`q zmvj=>kl9+AN~gQ_bwRIwR*yJ`#k*fxQ!M&9_9eUMr$p5PjXDH1ej*Drf`UEeEA1DE z7R$UlNXlI*pHa$SD>Hs4IE|H}I{sB0`+TS{;S0z5q@0y3@~XQ}R|!vy!_?JP%rs(; zh|BAw9N*}njG(PTPvgRm7K!+q$K-2cw?U5t8OctV;ff4zU(K_>BiRJeWx3yB}hwC z<2x0vTV9gJ5a>C+VQ&zaqWPZM@{+k5=jO2u`|g&xV;k}oA@W#gZ{b02f>PRHmz8=I zmbxj2zx0plu&!GEJzHs) zv3t_vu_Nw`W7rKw9}DTVfuDOZ}$s*W>i5xO83Z z_JlQUGwPzas@P6=p*&xA5S7mSubsZT@&5jPmVb&l3A&1=ZHo||jBA@3Re>{3xbT*< zPF5GDOs-saSf8T0KvR=Um>u=9B|L3$ML-<8!(T^uWKG<9?ndC&%5|MFiVa?#hK4Yh95U@?P-W&^;sPm(jU0 ze8Encj?iKmw5zgMbePkJRjk0`su&OM_%RNuUu?ozSdLT)-79TQJGJ)RN~#?Rf7IB+d4r}zMCRCo~@FJ1ekUxZPM~v zU#p3`L^A)#74p@X6#&4mHL?Pv&*a|-%t&f~^lfz$bUJ_3&&rC6A}uZL4kRUiil3n@ zBO4~=lhv}l=Qo@qyGr+aZJM0pQW(+O>{`;v&N^8tkV!YEq>AF(VE_r$o$B`^K=RY> z2Ha!6fV^{Se`(a&taEn1Wo5vmMnl;^=>fk*<|E0oH*YgMAdex$I!CTcpTuFU`b>3_ z#!A&%_VG=DU-e+a0#Hr&`)%$}0xBXOoszgQ6Q}c~k}B z22#tOPOb_Jlrc36v@^nAwr0VDf06Gq^SRcC*w179J$U1RIrQgnqm;8`79ANKy=^|s zURF^-PI?+>}hanOhVKZtq4?(q9Xx0jBja%yU6 z(6G7n5$pVybVaciOp5PYYYSxT#&3=tJ2pKrkx*NE2O@iEAY`-gkUg}61q4N4rYq;^ zi58jkinRn@;^ZM5m-F`aHXSW5f*fjkVIh->-(e1_Dq=0iqAdVC%o=gu$JdvQ2WQ+8 zSo+_`YHBL0s=mRwftots=uHH#qkxXU_Y_m^=RMDkVbOm*Xn4+`v(EigU)BT8h)%Wb>32y`+pu70j>Jt78ny^s z@D=R{XC8ojx5&8XYH~`7>F4(nV&caaO`(M46Bsy9Xwn<{_H8oM6B&7UH0+kY-sT}2 zzXkP@Pr14czZ&objmN5;9rkw0cx)HbUcNk*l!Pf05)qO9ts@+kTE4O(mxE8mCueV8 z%Ak}M4^YpAkuqzI+=nlq|Er-5du;-wOKi#S-_vn(tIu}F4FF;?1sJgm^z?0W#%@~Y ziHXymug+)`n+?TP3&KjmO|5dJ^z?N2xOaT~{O2htvr=W_c=$8+?5JJ2a%F30wfna9%zc30k5e=~Vl{!p z@_SE`=Py0miXpT9cP#qswu@>K3N9|yJ3BjthMi<<^Sv$OjX43N=wvl*?N~j1{WYin zXDB2~g6QFf#Kq+Ryq=u$cy5$YckKLhTL=KL^NY($OX(OGB*g=%ZnKk*-{0Ka3~n^y zYxjqh@^mPlaK!E3Q7?wFRgr0*WR>Ga7+fAqYdRFy$SBWPmO`0?o}XVUoJlK~I!3@* z1HwQR$UOZ6PI7e?Jsz-`?V^m@-%!fZP&OYfq+jc<+Gpdz(3XZA@gy!uysW^c2wd-H zsK59JV3AysMv%a63R+S)G#Sgw(v!()UqyD(~V92#s$b_>G}9H z>+0$dwL(gE?d|OfhK4EdzSJ^@wG6mt#FsARNQBVPv#}{&6AuWDii*$n=F=7mN zcLG-ZXaVRa32h!!p-AK(aGcA(Nl*UXJukpxXF-9|wDrvuAAf&kQ`3x|9t_Xn%I5|B zIXXE|hM;3)lrk|fL8b*dAovBGti^jbu@{LnT!l&eQQ{0HB_4|C3v)e5PwnhVp65VE z+wTK8mo9y#d$zYU=sFLjM;|{wC8(_x>NVleQe#D@iusd0efCTl1V!2rzL@rZFi~Tw zRez0tDLaPO?)!M1dxlm;agP;-C-3v0@6lhYGT*!*c>DmC4e_Y>(x#^$K_b)+Oz%&A zZr6TqZ)d_xbC?SW2@RJ&%hZj)Fe2f!h$bW?{P0+b^Kt)uPKyyaJ-w?n=sRUAKZiJ& znPtJw^sj?WQ>YQVeqv+5FEB9B$;oLiZw%Hm5Jg#7$$C&i42lXCG9CWn$zTtT)lhCb zuoUpKvMMAbBxqDQ6lrSy&ckcJz{$z!@%l9bKmTZXf*;JPgF`u7h=mPbtu9!{+j@#9Ll?L`zQdYL)!rBq#!z%za7_YuT2iD-Blw zGJX+vwq{vAHT|tyZz3Mj^+N6a{JC=p4r|{{fOTDNw;a31Z@8Cu!#glg_5OW7jUv*XAi zm6d(&=vd&1*DxC^j=~S5*g|+W}$|V+BpkyX9A0te^qy>S)VmD|f z27j^8Sn%2BC9j);0hn-jm%NOOj5l*QO!L`}6N4yd5yW>ZIVK`VbQz!(}BL6cp4y_4~KIgaXVVtjZ_Bg=EIZ-?{r5w+ALI z1D;EG49+##MV4HVQe=Iyzc4E~9T2Hs*W9p(FUM>0x+tZD!&@uoC|Yxoq zFp)U8xL-g5C>)T{*2ez1;GCfPdSQPGZiVXV>I}8K#Nm=BIUhgXj}i!^;#Yu2K&I#C z>0Mo2Z)y~_W_Nscf{GKEmH{Z{nw!Iuy`O$eG@QS9F_rALDIIwD;6kHrs-h=j+D|H1 zUPA!VSM*p_tL&+0F#E$=45$>}kqWyJ)b=R2?NL6Hyndcq=(~4mZf+Rh;Se`HoNwSO z9RRXv0(RWCj20Os>ES5hmOcgc|u(Gm(_)pu#!2|%y z&%>$-IDz~JukU)|(X+D`ia2U$M2?J%*i5&cgBV3J7zYOj@d-qpp`fRi2nF`cFJF{m_#IV}!~<2J^8F0@94xHW z*Vo(Z{I&ucIK1=~#)~1o71whR6zBV`5DCh+V5Om3V?mPWGGRP#Kj zDO^nN>$Buv67HUo_zYIYfFsJhtFORF*5J{jG#EVxTZCFGXoWYo zxjKu3k6%)(oF*rvtErd(4`W86H<*PF&KW9M8L*<%JENH-=KmRrbLPV?`@42c zEiI2>y4t(C`e7x_2EHZacG+IyRQ{lrC$b&a=}_aenZLEZlnKI`1|#m5R(bNZax;7* zA|xbVC`$!@DYG_O8m&+Tp(vVHO%glHZ~r5{k(-~NU#bvHvox5u-uAbQFzW_+YQz*2 zJ0(#W0uZJJ7eXh2$6?`+7G&+al=%e&26op}K86pfRr`3LVcJA5UcBhP{aFXOdR8{J zzV{MD^G%-_&oe0H4&A#gD5wL0&{oUpSoyP#lv=G!m78!s!sZ6xIUsPV=u6#p`+Lq> zmG<%>w6ZFmc$CD%#7c>B%W%&U6R$=U(@00Qj*e<^KKZHyOBCkX%men}?_v2T4Wg_J z`J`q+Lqx>1PaO^>Ha3=w#|DXGQsItdf(AwM+GT^gN)&QGDG?0bm6(V~e`yNR29w^D zwx%Xgnvgao?nJUSN(!zHwJ2I5mR z=Qb@c>?9^6OoTCa$wNTEm zbQH;I;6q461o^;wnHV0Efov^^0NzmZJ8vmL!x~jHv&EVnpq^r2G_!#@yGTxX47uBx zP>q*^xU>*f>=y3ZOSHGP$~}FW57`6&)Y)&tqh=6FWM~v+K=-FL==s=zLRBuv8GNnZsg}swt{C3mTWix3=DcxYz%Z;GV4SQt+2#sf$|GPUAXpt>p0@bW%@Ry+Moz84X@@adD>P0dm{Fienc!t3O+|M(5~ q7NZt#@c)`9|98#|d2g=!{&C4y&DSv=ythSumJpQ@$rgV2@;?B_?D4Ar diff --git a/networks/he-burn/ase/derived_rates.H b/networks/he-burn/ase/derived_rates.H index d970d726d..0bb596f90 100644 --- a/networks/he-burn/ase/derived_rates.H +++ b/networks/he-burn/ase/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -841,13 +841,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -862,13 +862,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -883,13 +883,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -904,7 +904,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -947,13 +947,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -968,7 +968,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1010,13 +1010,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1031,13 +1031,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1052,13 +1052,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1073,7 +1073,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> C12 + C12 @@ -1110,13 +1110,13 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.474151468919175 + -53.57824966896331 * tfactors.T9i + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.57824966896331 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1131,7 +1131,7 @@ void rate_He4_Ne20_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 + p --> C12 + C12 @@ -1168,13 +1168,13 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.92541574740554 + -26.004360836807496 * tfactors.T9i + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.004360836807496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1189,7 +1189,7 @@ void rate_p_Na23_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1231,13 +1231,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1252,13 +1252,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1273,13 +1273,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1294,7 +1294,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> C12 + O16 @@ -1336,13 +1336,13 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 49.57295819231048 + -78.2098115311048 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.2098115311048 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1357,7 +1357,7 @@ void rate_He4_Mg24_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Al27 + p --> C12 + O16 @@ -1399,13 +1399,13 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.96430994536895 + -59.8005159928172 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.8005159928172 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1420,7 +1420,7 @@ void rate_p_Al27_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1462,13 +1462,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1483,13 +1483,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1504,13 +1504,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1525,7 +1525,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> O16 + O16 @@ -1561,13 +1561,13 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.78921572069022 + -111.60083385054465 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 111.60083385054465 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1582,7 +1582,7 @@ void rate_He4_Si28_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // P31 + p --> O16 + O16 @@ -1618,13 +1618,13 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.33118481035693 + -88.87103716814843 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.87103716814843 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1639,7 +1639,7 @@ void rate_p_P31_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> C12 + C12 @@ -1670,13 +1670,13 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 12.203060308868553 + -191.84225839903127 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 191.84225839903127 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1691,7 +1691,7 @@ void rate_Mg24_to_C12_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_O16_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> O16 + O16 @@ -1721,13 +1721,13 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 102.9883182326601 + -192.3301592962798 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 9.12001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 192.3301592962798 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 9.12001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1742,7 +1742,7 @@ void rate_S32_to_O16_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> C12 + O16 @@ -1778,13 +1778,13 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -106.3111878016318 + -195.9077167184711 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -176.78 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 195.9077167184711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -176.78 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1799,7 +1799,7 @@ void rate_Si28_to_C12_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -1841,13 +1841,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1862,13 +1862,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1883,13 +1883,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1904,13 +1904,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1925,7 +1925,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -1961,13 +1961,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1982,7 +1982,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -2017,12 +2017,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2037,13 +2037,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2058,13 +2058,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2078,12 +2078,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2098,7 +2098,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -2140,13 +2140,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2161,7 +2161,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -2197,13 +2197,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2218,7 +2218,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -2254,13 +2254,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2275,13 +2275,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2296,13 +2296,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2317,7 +2317,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -2359,13 +2359,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2380,7 +2380,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -2416,13 +2416,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2437,7 +2437,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -2473,13 +2473,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2494,7 +2494,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -2530,13 +2530,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2551,7 +2551,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -2587,13 +2587,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2608,13 +2608,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2629,13 +2629,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2650,13 +2650,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2671,7 +2671,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -2713,13 +2713,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2734,7 +2734,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -2770,13 +2770,13 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2791,7 +2791,7 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -2827,13 +2827,13 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2848,7 +2848,7 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -2890,13 +2890,13 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2911,7 +2911,7 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -2947,13 +2947,13 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2968,7 +2968,7 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -3004,13 +3004,13 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3025,7 +3025,7 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -3067,13 +3067,13 @@ void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3103,252 +3103,512 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Ne20_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; - - } - rate_p_Na23_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Mg24_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; - - } - rate_p_Al27_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_Si28_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; - - } - rate_p_P31_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; - - } - rate_Mg24_to_C12_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; - - } - rate_S32_to_O16_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; - - } - rate_Si28_to_C12_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; - - } - rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; - - } - rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na23_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Al27_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_P31_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_C12_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_C12_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_C12_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_O16_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_O16_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_O16_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_C12_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_C12_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_C12_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/ase/pynucastro-info.txt b/networks/he-burn/ase/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/ase/pynucastro-info.txt +++ b/networks/he-burn/ase/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/ase/reaclib_rates.H b/networks/he-burn/ase/reaclib_rates.H index fdaa029b8..042296d22 100644 --- a/networks/he-burn/ase/reaclib_rates.H +++ b/networks/he-burn/ase/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -565,9 +664,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -597,9 +700,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -629,9 +736,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -661,9 +772,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -693,9 +808,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -725,9 +844,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -757,9 +880,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -789,9 +916,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,9 +937,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -823,9 +958,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -840,7 +979,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -855,9 +994,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -872,9 +1015,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -889,9 +1036,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -906,7 +1057,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -921,9 +1072,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -938,9 +1093,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -955,9 +1114,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -972,7 +1135,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -987,9 +1150,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1004,9 +1171,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1021,9 +1192,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1038,7 +1213,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1053,9 +1228,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1070,7 +1249,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1085,9 +1264,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1102,7 +1285,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1117,9 +1300,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1134,7 +1321,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -1149,9 +1336,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1166,7 +1357,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -1181,9 +1372,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1198,9 +1393,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1215,9 +1414,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1232,9 +1435,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1249,7 +1456,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -1264,9 +1471,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1281,9 +1492,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1298,9 +1513,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1315,9 +1534,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1332,7 +1555,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -1347,9 +1570,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1364,7 +1591,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -1379,9 +1606,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1396,9 +1627,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1413,9 +1648,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1430,7 +1669,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -1445,9 +1684,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1462,7 +1705,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -1477,9 +1720,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1494,7 +1741,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -1509,9 +1756,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1526,7 +1777,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -1541,9 +1792,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1558,7 +1813,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -1573,9 +1828,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1590,7 +1849,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -1605,9 +1864,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1622,7 +1885,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -1637,9 +1900,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1654,9 +1921,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1671,9 +1942,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1688,9 +1963,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1705,7 +1984,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -1720,9 +1999,13 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1737,7 +2020,7 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -1752,9 +2035,13 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1769,7 +2056,7 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -1784,9 +2071,13 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1801,7 +2092,7 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -1816,9 +2107,13 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1833,7 +2128,7 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -1848,9 +2143,13 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1865,7 +2164,7 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -1880,9 +2179,13 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1897,29 +2200,29 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -2161,270 +2464,710 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; - - } - rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -2444,75 +3187,75 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; - } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; - } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; - } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/cno-he-burn-33a/actual_network.H b/networks/he-burn/cno-he-burn-33a/actual_network.H index 2427e1019..dd35b589f 100644 --- a/networks/he-burn/cno-he-burn-33a/actual_network.H +++ b/networks/he-burn/cno-he-burn-33a/actual_network.H @@ -447,6 +447,62 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_p_C13 = 3, + k_p_N13 = 4, + k_p_N14 = 5, + k_He4_N14 = 6, + k_p_N15 = 7, + k_He4_N15 = 8, + k_He4_O14 = 9, + k_He4_O15 = 10, + k_p_O16 = 11, + k_He4_O16 = 12, + k_p_O17 = 13, + k_He4_O17 = 14, + k_p_O18 = 15, + k_p_F17 = 16, + k_p_F18 = 17, + k_He4_F18 = 18, + k_p_F19 = 19, + k_He4_F19 = 20, + k_He4_Ne18 = 21, + k_He4_Ne20 = 22, + k_p_Ne21 = 23, + k_p_Na23 = 24, + k_He4_Mg24 = 25, + k_p_Al27 = 26, + k_He4_Si28 = 27, + k_p_P31 = 28, + k_C12_C12 = 29, + k_He4_N13 = 30, + k_C12_O16 = 31, + k_O16_O16 = 32, + k_He4_Ne19 = 33, + k_p_Ne20 = 34, + k_He4_He4 = 35, + k_He4_Be8 = 36, + k_He4_F17 = 37, + k_p_Na22 = 38, + k_He4_S32 = 39, + k_p_Cl35 = 40, + k_He4_Ar36 = 41, + k_p_K39 = 42, + k_He4_Ca40 = 43, + k_p_Sc43 = 44, + k_He4_Ti44 = 45, + k_p_V47 = 46, + k_He4_Cr48 = 47, + k_p_Mn51 = 48, + k_He4_Fe52 = 49, + k_p_Co55 = 50, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/cno-he-burn-33a/actual_rhs.H b/networks/he-burn/cno-he-burn-33a/actual_rhs.H index 2a283236e..96b579f50 100644 --- a/networks/he-burn/cno-he-burn-33a/actual_rhs.H +++ b/networks/he-burn/cno-he-burn-33a/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,996 +64,544 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_p_N15_derived); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived); - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.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_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_p_O17_derived); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived); - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.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_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N15_to_F19_reaclib); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_p_O18_derived); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived); - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_p_F18_derived); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived); - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O15) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_p_F19_derived); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived); - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.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_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_F19_reaclib); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F17_to_He4_O14_derived); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived); - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.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_F18_to_Ne19_reaclib); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.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_F19_to_Ne20_reaclib); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F19) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib); - rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne21) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 22.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_Na22_to_He4_Ne19_derived); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived); - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na22) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.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_Mn51_to_Fe52_removed); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/he-burn/cno-he-burn-33a/cno-he-burn-33a.png b/networks/he-burn/cno-he-burn-33a/cno-he-burn-33a.png index 52d52faa5408577086d6e1bff48ceca29948fe13..8383b77be54ee62c1c88237d30696054e67443f2 100644 GIT binary patch literal 140495 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 literal 140175 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%0Ap+B#URu+_l!ObX*3)a*{PvSz65&S!qWeyFBP z?cXC@|AH2*#w3qMZdWF0`sHtIJnPIUJJ14e@Wt8Q8<6)jO-`!OHrC|5j@TY|C29Cb zd;?C0m8CUMfr1jowq-hjRh)sSI=Ci6(eH{N^G!L0UXW3$hwOaI+5|ol?#k5}w>_zC zC%#qbFj0& z1#P2BsSzI3=|xc8BQqG`mgnWB=t4E~{`2QMz?ZDBYl^_H8T8AHKBuB?Mz046v;isc zWQAqHkR9QtxVRwDAjP@^=>yA1cde{q)`P76;vWN#!#bVq3?PWCx-A&w{B9%=%=?j> z!?2e;!g#(4uOUde?9N&^2I@N8SI;@C4WBwFCW!swCCWT_-Cx2pzi_* zWXKsFe&u40Stf;v0P8>yOjp}W{N;u%5qZu2^d>M6E)v?gD$2%MVWjeNU%yr|($`l|8xU3ze=vB&KVbi()b40CeX?fy$k7i9-#!UZ^ zYe8Y5jE*5bYGIFITi=enTuTZ)u8PN8YpbO_>iBoVwe{L4U(rNe)85hHDexYF4H?`I zFXSaTG%MHN?vm-q(b~-#Tk3dyqR`x#sKn-aT5<2No)}ZWkO710g_t8*$jSFpfv*xey@b`$pf5g48z_0itk^~n#cv{CJbT=NPUg>lii%^Uvh&NQ@W4@k}5w=!*UKbM9TtF-*qngPT7RhrkI_8?2 zzFQhSb+;Ace4nn`&H5_w9l{^n7K!12S@NH4zs%LHr$qHa%abE@mhoHO&FF59X*&2Q4{ocxjh$=_UgXlJ6n=qK|tGpqsH8*nT+md`X*-eX=+ z(5P#&r4;bUeHu-g)Fh6}TSG!-(%i@wUe5Gf2`@My(U@?OkGIas z-f{#o_N!uUfX~@$H+wE@b>>XtugfJuN`Y34)l$txS;dFL2jeB&Zv5Jtr_@61L@-MX@#r&Lr*{Je^G=EQ@U6UHyclkYM5-F!}GW9K>u z=>oihqL(#>1(nY^^tbFayPube43|r;52X34T}h6W1ch4*E`seruW}nI8gR6QA-ZZn zwV$e7_z6$6+*4EeWnpX_2<51TfhTA)keu*&0M1SAamNAs1G9@oI%=v%)r*u&HHJUXr9`A!swi2-DE@ocoZ6~O4Cpei%SeyyzQS} zy@6Wa*kIM~BmjaPA=M$=OZ?TV#t+xft(JQ!(v4ZE8oV&bLhg}Vu@t)nJp6PYb93i| zaI5OaqEy~ju&`{}=5UE~dFVB`te8_!Y^NvLng$J{Ypyl2IUm76YkZ^&ar)?Vn$v7u8KdAsF~+vj z9Q&~QE_uN659gni*UY7ApY!n{A=c2^-;tJ<2Izzuajx)hLNNx}`e}xJiG@W)f}kEo zR4;HsmsQHSybi$3;1fW7U{-qj^sYElZqpmX&(_-(*ur{Sl>FE+cz=VnnK8CTetXf! zZZ%Z2FIpehSq*f-7wycv^{g3gmY}iFHRV-+#&P_I;}hT;?}zC>P<#8pWbaSS;iT!$ z9>wR4pCcn5+TtKv!g9&uaaV?0(-}dIyM?X46K7Pcg`JX?BS%v|bfITHPW+wv{OF^C zjPLQ;Yw~c{ko%zRGLR$rn)|S5CvrsnU)60)Oh_#%I#z)wKynHS{nhcw(`s%g^q(G` zEC%tI@qFfah{&&ifZ3eiH{BFlXXa9aM6A| zSrG1GYFcz~I7%|iu`4_EvwdH{qA94ksqOo(ce!@yQ&SN80pG0cOmpf?{c-$7XsKUR5uzmHnIL3$3ZzAfk`E5WBbG z`TosiXsa?l&-{|somOxuP`nX2%G9okflJfVW(^r{7Pun%~N|5Vz?NG4f zzU1BEUM;NvofX0hI5|1ZK|K%={A=(`OD3}?YM`dJijN=rS66Ge;pb0E56PDwJp7dNchm?2e+H;>F**Q8sE#%?jnUU;S2`lq8#wOpE;{~8~?D5rHfhZqzZlO=7`)Tc!7p$tZ47xMz-C(T|gbmOXgG&%YC(QCZ)q_$i#$*{y}tJ5(Y#!- zjNPO?8@{(!g8n~kpO5v)jhUH_*$LI+4uHLV-H$0Pi40F(!{&2 zCHAwe&qj=KA)KeDI$R zm;R#qb66Z&3To5D+>etzM&4D4%T0h-AVCTZb!NkVqd?S2Z}f#g<#;LI^3_Kh`6eDx z5zZL;TL+`P_T~0aZBJ1HFwh327&1);wmAfPB>}+!j5wHENR6E;qrIZfp!7|-f^5)N z5f(dSgv>82(9lu`$xs>xQzbG51d?1zMc8Gg*p}E1B&ju@r%NoXMF43 zpX8N-*S<=^@Jm`@F=g*)#*31}UZDK^FQ?nX4IicIzSPWqeF zfKGD@j0ifWy`s)c#2R%d;?F@XP1$y}dkm}F6ZJSnJ7z&3nAEvRyQJnF6-DTBv>9qV zl#xK?wIR8bwD$45FxiMhe;` zG2FouDIK2aqi^lGcygQX!`G~=UiXo+3#9|;)Af=*5H@>3H%kQ25HxCHkS77Tg%70P zjGXd4dUOLi#{-SJuK{#klj^LoJ&YW-T_#JyB0xP=SCf_)^mxIJ$A5Wd3+Xw6W&_D9 znwiq^3~4Z$3zRX1z9znN%ldwijHrUbD7=;`iULwCpwrob zY-(Mg4sE<5smIOAyGaD8Z~=w64GowLb!q^$iDf#0vcv`FQE}JKzv%dT_ zQGzHqh@9xB3{o_T+fchSWi$?;{?e z;=ur6nXAM(hyC*X$l5WHzN4Wwd?uQF=tyDBM;~9SMdnR`h1&CM2R)immD`uty@T*)diS4VdAuLw!d3~N@=Jte@k!(M z(NoLfp}HAL<|aDr2vloPh~W<8S1iz5-mRYlXd2d=O7LIi%Vmx~S~}nP42NANj$U31 z4-e}K&(U;{mby|i!ViM_ty*|hkuxevS*sBqXuj;^?7iCXHl6MGcve2_4KboC`1A*;y1-77V6qlApxIj)!fNU^?P)}mTFJ$5J4!yki}zk5=d1mB>YU(m532Wt zrdQ0!C`&~WtdIole};TK^Jy0|iR$DL+GoN2NdJ%tY&8-`0x~Y4VBFj}Fh;$2q00R& zEs);DA~-l$U#X0joBKY$)&jG}uT!;zt&4OG5IfRzK%Q^sBc90si1FhGRlRTEI>J89a z$G4~$&2in@3ay@o(VV+^Stlid@cS5DUUPbw{z9>oOysDd*ij9{l{}7{AvpZUsH3f0 zv%FxmglLtIuWSL|c{-Xo2tJBN$5-qPG8eZ6lE!zR3yR|g24SJJoUK_D_jo>~3&Gw9 z0@AE)t-{h$g`6Hm*0Xp$Ixm}f*0L;84~g%!@o8rBIpPZMSnpafRNYei6qP;&FZgW~ zqyVs3&AkA~iVQORKv?JVb!h>Z2*Aa#K|l*?KIFrp_D^YHavz;cpZWgsY70cyzvH~Hd)?GJI1s4tp zlj>K3F7)9$Pg48~7g4=EZK<7;NGbGpT>h7#M#9mFC#&)CY;jta@_eUVhd_3FLLYt5 zr20epeBM|LQ+W=J-Jqp~AAv+W5b}XYXAuhr$n!gQva+ktr2Y(UrTtB&%uzRUoZ6wsSxbViG?Z@6IED? zKsg0~Qyb`;T2Dcn0j70iCMSK30Z15*7lNO_P5PDEZSpE%WMh@ZdG{R_1&@N+#9)=J zA(Hq5ox#Efb6b!=7 z4v=)^#39jCQwsvS{aX-P(zmvZmiy8e*}fr!1ai7C$s>8?!JW{)HH*SAG zg&4?32PIAcYXx!jP0;4SBU=IacFv}$eciI3Q(em3Wlq*i_Tfu!mw1o{K|3G_s~Qm} zPnv=*r%#|AX!929PgsL9a+kA!*X#cN`H8*{(v5tY&f)qiVRX7^2+0-jDnrU-7n2Xj zMZID730ctqCCd8xy1`P43WH0!?`1*isrm$O9*pgH_Usul77OGH1l7t4=x9mkS0oO+ zsDx~nmMe+<$%G4 z%WmakH@~bK10D?xjnh(;^7eq(z4?I$DTG3h*v(_V>H|VGdP4j>M#*HZ^~btgm?A>z%k}-Az zh*rc(|DmFyf{V$!loNI3C8y>(9O3gI^+QLU?GL?Ci}V+MRGYeRnX_J}d?2k301YG{ zy$6u}J~#JWkYKmNtMe>4&n(&XT-Cb+#n`P-@D1k7w0hmR^*&={6{zVa0QM=?otBx~ zqBGd?{mH>*ZKP%+;=YcX^|ers?QUWDN9B#kGS)bnjQFD=;SkE_q?vDSJtqROEPgN% zlMsMCOKp>2$D&tmm{N~TiB54T{sdJbA0gYWB-&eA!YwsIK&W(*n7Fu9HdteL&WTWk zMJytO5%-t8A&vW8E)T>NVrjpCONi|!x0t<7179NahNOe-z~Zp-m?|{(V@w42!N0|A>EW|4@8|j zH==y0L)}oOLWFlq)Uhq6AWXzYkkErK!sq3Y&63j9O^+X( z)Mq~Vp?}tEyjNVSo}RXwRR&b@sotU%pq1#pOZq;mcQdOXr`5LaJf)btbJZPa%juf$ z<7HVK-kq`DFL!!*^**U;cqjGI=xIxqOOoG59owrpA|hZE%fjiNxErJ0)b{2JPd9d+ z>k*!{emUQZi#(xcWHl5=(Kzf~55E6GVc3!>zh6%22-N!cAR)|b(u4OUNGXV3S8nSC z2n1DrM~&(3RS~S$eDXz0TsLWa7QwUFO4-yZ7Qvy}n1_`T96{{rqzk@7;ao1?_MQbW zJU09c+bDF=B{5^-a@uKS(!H-7RW=FSLzIgOZpvz%(vd4a-!yuXCqI#h;=%EO5IrFC zVw!1YwO>MSx5l5JM@H*)2pkoyWvsuLZ2au)h<2=FVri)oSG?0kb{T*^mA(4w^MRJc z0U8Pi2M0lTU{e4yWvJ79B$S0tRO4*@6vUA!=@e5wjqun0P$105`q5N$;Bl|6LsxH;TN{vJj&qCYEiS= zxDT_;8L7FVhumLh+R3z~SH9WDCUN}B=MVk*^yDb;aeQFe69+I_qbn77ydTOW{E@F{ zKg-~nsR^tTQtm>n2JW+g62mt&`-2iH6&4AdmWhbk^P4*x<$(s};Y?>+TS*7#x$~ME zs0=}nQ9v~0GCJI!tu%EOd~l%BF@Xp7lvjNasd>)x&&I`G*7NV!}ocrU{$NX zyeFKQ@(P(c@7WO*4w*FV{i+wEd7qOa9`!Pk4(sytk=|_`A*uZHb@~FdnlYU07&?jN zT-IKp&rExNk}Hq4$qc;N+usL|YoXKA;J)QWIPXZFyOd79)030?+-Y;kQz8HtV9oj+ z17IU+8hM8llHiUPot>=oLrzMvzh|oaE1nZ!;Rt=Jf1s=wWYUj7B$%S1Mht>of6XcUwh*aH%RZ`{Z%PK*0B`)ceXAuaYy)Kd zAsrEl;T_4kHQ#$rRpkw^v0F=x^*#;~v|ni7uwJjIC;TApNt>{I{*CS6Xw8OIi5SURSQi_50#l zK1Mfd_#qsJ4^T9HV)-fcn7NHB7cnzpTtx1BJ=mlZ+mLJj=(3HrT86=BW5g+bW~b&;&xN%Ueq(nlDR^b+Hjni)va4%4DxRO z{yx(95&gh1uh>EC)}AS~8e2gCO}O=&2Wr8A;8=x>#a1|G0s)m?%TO?x`~CYmgdzi^ z(6#P)cFYPzx?!OW$sJG6OC?C?Q1+jm)`)eNmM*4%j0T-{TYw8~41RRdxI^hP_va59 zQ1LxO)!yxk9f3im(Oy(OT&mVBx~ZiBbgLl%&Qihw&%@^3*Uf_%xxQ!}@4 zJ}N(k?V*gcf?atuqvT!kbw(omJ{kh*ranAr0GZ?~@s065_1uxZQ^>>wA<@i778XpY zhoGl^4pji7V-0MYFkDy0BnmL2!!RO1xDC50$*BN?8FRJEbbxJbohm7yt6ePZ<-0J6 z-~jUSma8LUW6Cu*CBM-98~yIR!tYq}teqI2M`x7ElUr7{TC2}-50YGn<2N1EZ{Zik zjB5x-_AVcqpTtDu368kuZ60Y1&qym}96L$U%}~xEaL<@J_|iWw_J|1MU0htKsRHFO zxOWBxLuzs|3NqB6gYyGC;M-8+bU8WTj;NC{N=;;$M@kBb2M17t|8}G}*#Z;zEx_=C zJUKI=WTkzR*fM2V9}06SkV%FA_W#c9ojhe86h5jdi^Vj+!EV^+pRq|zEg6aUF(;i= zsS@825I6{UpQop1QQ4<_WDJm`Bo=hyh#LYKF8~Fq@|rqLb)VD(qa?(lAUp9^p4pij z$6aTsR9%U_qmrP4i1hAqc+{z7dd1O3=JC8dJWVq*lqf{6&8lMoKM%jGLTJ64`>lj3 zOnMBUhJ>Ru(a@{$J<-9&Q?MZ-yb@H~3+~xO!hzGKPf4)AXC!+0f>uM4zUe6Qj&OeyHeYikWfdN+m%wMFvc@JQ?TRR@CU=lXCV1TXHuG1rW_^2kt@gLD2zD^0`d;SH zKSA}cd6KQjGW_}O=G4@{fNc6Qksg(arKcf-+ocV0jljbfu!d3`tA*miMMS7m_f>}b z`rdr!Un0w z^M%>O5}rGvGmCY12b9djvQ_-ZJnnxU6k-rcSpF5~EV5#>nZlHc-zEG3?<=P*7da9m zf(#G0?R$>SE>--M-(77Td)4>>3yX}UvEjRS$@}JVdjRaY0P2dhe!c?lHa{-s@ ztPGT-k+;|d2!g+xsr^F?x!rD|Z*W-)VgKA)VmCY{ECqLt6x0^BiSw>6D0ATVAfHpY zhe!;;*IJ^1#j1b(#*Gd$3E@`MdTqjOOLU22ZuP)$94s3&@B1No2+1ZP>i^bR0p09J z+y^AOXlz1?k@_`02}u?kYZ3fTAQA(UL=#j44@xEnVVyuUit)ga=bmLqX;$T_5)C<% z)Ie*OwA)!3f8Ds18XZjrp(4a_>+Sq}%cW+GJK2lYXMgbVZe<|MKpPB>8CQ#|sDSU> z6D8`FQduFUQhmRt>-dC`7Z=QPXF)E*>{dJHU7Fhib*J0*m+$z=L=a&+-o?hep>(-kPQSr}+sdE*E zX@!C;ZxLQgF__8T|68k=yJzahvolK<9LbY&9we%SJuf~afKKR(JI7y40};r&y9=6! zX6O%m|CfJ)smM>aKKwa|CL(m4?H01Ozm{>dGoTuqMB@=VN%4R~0|iFFpk-dB>kUxB$-xPoTJv=|)6NLtn15+$vy3-gybr(<8hk53~YO+N< zXZ@v$q+dvu6HqYn)HMexgS5o3NX?wm8FZgY>}U|2>I%l^F8iVuNX)3=Dq(#{yvLR(}TcLN?ZCR*U&J&bX==!dn06sGuwF-?I8l z7NM%92E*j8adYoR-(F4LB$52(5gZ$P7yQophp&Qz{5SukekpjKOR(RF@wRnOXWae) zeytk?YjuRMFu{G&;PQ7-y5e#5Ln5gQ>y1~&9eK&Lu>W9KIrHRcmM(eY2^Ln&QB@{D zoq@S~gRFs{@LjG;rJqmkRQ9TZfw0=pxDR>3Xy z1PROk?p<$uY*zMS&~s|MVz>;y+(FVph_Tol(GnFVNa^FR&e#iL=_eT=;Tw1!1}c|@ zvN5ff&|CE9C_h0&41i2Hfvq4^lfCw>xp|(v1d*``(3jv71G(HSz+OS%0Wg^`Aa|h0 z_67rVr)JvveZs(?>w@Ado95x0Gl%qj17$yVK~}5_R1abz-2r^_K0slRwhYFNmkJ7z z4v7Ky<9rvRg0yb9>R7k>BLRa4xBDlJLXlN-`m;6zd8sna-g^Snpcv? zKTKrw20)92`dvi7mzSGCs)DH8-~fuMM)!?W7ZxdXENxi$v}?gZp37xb_&fPq^%b`( zR*Z+NZFUaLyIIj|zkt1teXX4QVqvo~pUVe?Pz;+wt#m={Be8k5`=KeTnlPVfch@F_f|m$19uU|idmJ_-;@mVf zwK)GJO(8K&iXZ$;vd$X6sox+&3}L1m(+me2TXU)L&^DZzWh#`WZ1_?6W|$4Fqgajt zWGTB}8ya3f`<=j82;)TBz>pWT*dC5_V`XJ!u!A&7JgM~o0w^oWulSHdzl5cVxT-@A zaD`XMybgzyl;hJ=(`P5sAm#%g zY#t~Ln_I#lO!bjX6aCIaLmwZb%R)jz@;l^%Ap76kApVQ6mBlCZ7~*ls$;nE=fikvO z85Z@AsHjkk(F-J%aD=@h`iHj*!Gm+bL>iUoH*S;x_6rABZ*WWiikN}%u2epb;=Hlt zhrU#vEIu(}y({K_RKLlVzE>CKRcB+AVIg|-a9owdgK?4^ipQv^_R*&6C1|Vdd#yuW zv6#2^{J&egaWAi+*$eWc3ukpsZEXS5(Op2=kAV;Rn3NO_zxy1hz9A0enZv+-+xsim zeru$y1cA3Bxu%93Y-~3n$P(g1d?B-FeY#41{^S}u_OJvu#)7Io;C&`<9%j7+^ae5m zo$Xv{GR}Qd@bH3BpNBrRkYuvJYd~))bu*W_Ws12ASZ1-oOEWHNgeuy?7 z#@pzw4u3~c5#5I&V0h%@xkom9UGT4|Ao}Ks4av>Pc?o0jz!#6<=;#RSC;<`C0$jNK zB<+_rh*bcVRqczn3^t_K!2_~d>A#=wEz>-{qP$Nus}BNS%I@Hcg_8R6I&RXfU(={@ z!b1ol7*+8pIyys1732IVNUuOMUOqCG!-giGIeXQ_(wpUN0}Apwn#WsFS+%#lnA=h( zyGz7}VB5PZVJmcmFpOXrhQYO?>XfU!>8HoX$?mRd!)%K2_RE9= zr7DGBFK~J6U!;Rk`n5H;puiszupy6Cw?8JZI{E)5!1#wsbrsc4UPT14@cxECAbA|T ztcd7{6#X6zh7dPUkbonz|NLD-4}&H_+HwULtUKueE${vy0k@_^ z@MyQsA>!-X{oV0&Gc8mQQiqUzJ3ZRO$6{{BDTc$G6yiBU)v%%IM-25aqSfT9lur@Ik~$573X z%tUAdx|}vxi4eaqM5pMl>#p4B>A}TFTUcG4q){S+N0{g%?A6bTg_b5|#|$Xy82x=b z6y)bLcs=+!$Cadl;@7VA#ew-ed7W>*fW|#d5j=EuHWh^EsQRxOJ}%5}^42DWT>X7~ zN+-{SEIq|y3Vmk1vR#;qgGNfKO>Z3>Zf_eMyk>>ceaC&KVR2EZ+C|CHkDxemer_(= zVfvXSE2u=3RO?pn0I~uE$Z)cA7zwM;_a8=@py=`fNL26ac*kkpm$>j<$DN{&MnHal zdN6{2g1LbNp+a0mh-L`K&U1GnVC@6};e-qS@2{ZPY6Nw8C_EH0&M+V0Ymg4i0?a7f zBH%L~-5+>S>T78TrM9>@JFfZs)Zfj`nQW0fpFi*nCs$^r5vn0vBuVk#(H4%n`bnXr zUj|e6`O2+3_(?CoieobTiW@*CsJB{-P5?9P28%%`&)p7#5|F(`DrsAG8l+ghXX$+@ zt9VV~ z28H|Egz4hEzKiL{^40hK{WAM2DTxOeb+At2lxF4rk~~u{FvzkGg-9Uq9uKeb**8Mi zi;nJ~4Wqo~!uq<|{;Mj84;YxU@X5{1MU?5@eOQJdq=I~qY!{;KOy3#C z_@%dgc(}L6cD(S>FjiU1xpi*#jWO()As0;U(NOq=uDLJu{f-y>nVgvy(+u8yhQQ@(ZXZ6JvY zht~6>7l28CYWvdw&oDl%G*YjXy-s^}U;u7cqrp&rgJD?2^5dZp3Lwi7;5?FXL^ zW?Gmp)=$4RItUk>N8DO7{Ib~Q`1R{glVd%J&!>zc3!|^M+#Y+&>}Gj~e#s zTFSA90g1O}oR=x`_QnXn$Uy!d7O@{~s@^&q51NS3J zxDMb`$eng6_W53elG}-#aY~}3dN!|1kGqhe4dA7OvJWtfe!2+xt=c0>P%GX}+$!l+ zx2)BV^t}Tv8G68zu#kTO*HGwF?q_D>EI_@tBQ{K^G-l~2AHl@h?P=S-yL_{T2~caN zG4k6wI<~{D*Fl_^P;A>jB^o7QU|{G@5=d$iy-NZwJEL0Z&$*MJw$!$Lvu#G|fAwU| zxF$$Ucu^6nQ=OkrOA9RlVt7C$jc5D;VZMA{ig>6d=LC?ue)wUy>;shAWg!j!8r6 z4uD)E)mW>#kRw@Q836c?My{{*{B;!eOpom8B+$Nkz&NUX5!3|fI1s$q@Hrgufrr?4 z8sDBCNR|~)u)KXQ_)9y;=aF84)z)YpS;m_ri+;Z4?$~Pp7a^Mfym{Vll)AriM<`X2 zVGBCb1b5o(b#8zWlL3>k~rGJ(yh73QBj7yj+EJJ@2Jg z;t*;w)C%{T(=Ki_Rb-Ng!Tgxb7?u$Q;@ z4q%6*EqA#1_{fvo4`T;%^Dq%!3XvdT-3fthNk{7 z0Ur9O+wlCJ_0sHr07*Oo0C+S0dNPb%WBk!4kzRMPpl-k`;JiCWvsOO>*;s48oOC$w4Gd z1T+F;Rmq1g+8wVCzO^foYIZ@gqvwTN?M+kUASiwpC@3spufsy(w3b(~PoG<)!U(%i zpV3Zw)DEneh1#Q;q4T>KNAOXG{Mc^0pILzF znEEe&>H^D%6lOq_yL7!|CwlbcPMg>}rmVgj0kHcai415sl(`j@4G0x-Hz0C+dj0B$hH+oew-OQ}1Gb%=Pw=<; z%AqWW2_G#$2-rtweEscTxK+z9vtLE0Q#CY)FrJ=Eli;FH47HCDQH0%#}dC6wok0^k9g8Kxo4xHXcl9dC_gD^6s z6_hzvC%gIy>Biv4DmU;{qIsN1U}9pj4GVW3JcT?G5pY(+D~^~8JFb?6LLg`W7&sR| zHis78KBQWWPb1mT9n01+qE7}HK6CIr$B_MC&qD;;F$!Xa5G_JN`l}T`kWDT4-}88( z8oSv>10T@_p;`OY$38|Bh^HS>S;gnX`rlVX(muW#NMm-EiIYCk_6Up1&DtSG33xEfG1KHPA_ms_Nz`{c=d;YV+;EDEAUhL z=@Zc8)d^f~i>7%$>2+hl)x!Q)#FKdLh!r;7cMY{3KZ5?;P0dg+0n!>Ei1iA*^Ml!Z z8u$$GEy8&(sZy8sMbI73vE~pbj3;Mn-|4LBa~5_5wk~%FpIY{)3mG3KuY8x_tEd{J zv@{>9lH8wmFPmIw=V+>Spj}%)ccBGhIU*jDJ4tQ+^;LXgH_8?IyDHlOHGk zb4vzYNS=2e$IDOZ_afmIwJHD5lQe`M2+>r2<2UW!p(~#~)wESE+cK{Y)jN7R7wL{y z-fI2+{p{+lii!%7_7uZzEEiv)^bgEjXYP+~gjIdf(cVYRRe0$3!Z-v-ziWzoET0&F zIs((mc)2+lHaXY(fB#0GkRp*purIJc462RDtRI92aY4QTv{!!F^gX#T=}6QZShJy< zIv5VoOcaH+-<$Y67}So0FrrN@oe&T211Ow7Pc?H$11ID0?=LOD3&v5>{@4^OFpU!6 zg}=FGKAW#VA_>b5_ujn%MIJ3Jtr$*AO2A<4l{kcs0Lxp1JKq4XZrSVhjt)#k~P~+w_={^ z-{c|>lkO5J@K)}6=r_yhY^8ucC&0AG#g*sKnIX|1xv702YNDG@cTkNn)MvB=Pe5^TrM;fXNMSEC*pJ-U_U=zJJ1Ti z>aT4m-E!a{+NecG#XKLs7cAyy6r}~T7s1PGy*m7OcsR?l3U*UY#184d$5^zdgpGRN zf$~TgeM$2tA)o8+5s9TaVV!H{p+$H>lKiZ@l%PHZ5=}<=M+qghVY_l5^Hso}9GsLd z^wa-En?m`H@Dq7zhG%YqMps%Gh+GRq@ zVtQ&0!53HJCYR^PD6IFIjA0(EWZFmyx!9X-SG}i$QZ+@pPQ^}_*?|e$ulo*p3XTH( zPn=w*%wg<~FD7h$LK~(zt5wHu`#?WJr-~}wI$+_ewx$#Vg`ClyNsu}LV%h%j{>#a; z&ckX^O8#?BB3H{-3#OYfqnN5V`3tZ~#4!aF+qJCUEkI;sZ{CU30n>u8fuOPc7!i?n zXb)3pkjsMRGAWyXeMlOHje^G#2{FA7Ig1->h|S8Nn*?fiKjCy*3>XCt$0`+s?!x(_ zc*+AkbqERTRRFh4henrt7(o~a(OZHryar}8WFJ0chXBfCL2nk1GpE|>froa%5R(oF z7V?n5LtjRl5-Ujqlm74^6&E&?&t*IKP{yDk|2J6UL)%jU7yvx(O}zGsn79)V&|&1< zUZA`)fp}CH;-;WL0KKX3t@A{x&dyG&vtw(-2@8`^OthDmmV9B|VBO;<2jQ0s(}NUV z*l&@TkpC}Gb`8pOR_ND5Kr;^rmJ5@fx*u$GGLn%Qg@w2P?F&IB@*RA9WOB*Be=aaT z0P2MlsGboWCjnSt<|1T^fvE8wd-VF02lKTANtVBRO5|RJ_uYCOc zf_|xMNiw#S3RwL7_N+?T6>z-kqXyL_D=_&(3|s;zREh-$7f(UG^k80IUetF-xDjBN zX;|Ka_7<`2!^c#*p6a~0bMF(y`F1ar=QqCmmj10L@Np@@y!_#-7_Jh(@+foims8ii z&<->#HbV;e7k<*|1;}ZpYH0kyeS9|SPiJWpi;23wk!x*sfkM4-cYhB4;MN0a@Erqi z4$-dQ8$}FUlj^@;r`KfQ&1)xq?67n~SI%|H$Ja2kBX<0r{~`EeUs!O(Vm&z~+cS+C z%HW=MTJ+7dO0}n$i#mp3T@rpMDdu!Asvwb_fbT-+H{v-5n=3gsI;h{bk8m2w#SZ8U zc)cy>-}`Hapn^Mu=V-+S6g13S)zCB=V9K52x| z;|FQUma{&Q?Si`edg_VyYBa)JyT=>z_(4>Ma5+oOp5CBFrf52H_eiSY&7wDLSf{%UV z<>aW@(E9rN#30WD+6H6*$=|<^J(3_Ieen8kd})3C^zQM8Pajzw!v&3#tZQ)FyFtBy_wP|~Sax-Fjf>EfzDNLpX05lE z*WA|DrEo|iW-F3UnVA`!v;$y1oCs;aHbXHC^i?ET#6T+U^PoWR@WYjli4F2Bs^a2f zdQrv6%gFj`F)S_SR8Pd|EVZy;VUH$^G#@81&wDsNT532vYRN zKFc=742%)qPoj+A?du5genM;46vOhXs`2Y#{Tdi4ucNq%-lDuT@}d&swYB`;VDmLV zl24Uhu-J8-!;dfWx)v{YJm+@w1&%lj%-o1Z@SfQ1^{b+D*^C(fj=rTA!H8IO$aHoDjJxUqLp|pULC0s zGW#T>sYi)FVHFLInWOvBn`6v}Sy1$r<6rV$$W*CEf=EsB`0r;SKzFA%Cd*w1N9D$T zHY0&uOF=d8qZ9K2raBE?B`)QDR&&EU$L%XDx$Q*-6PW(@Pi<;>jEa(ypTrkt9U#U3 zi@*bq02eoR_|pjNC7(2{abRWzCp)I>%R50~iNkJ>Op#hwhRvj2bZgz*Iz6{HtM9oIHG^ z;AoHVGR!pSG%ElMwZD~zA3wLy%Xk0J&=JbFv=d}EF~j!nwJy|ON{>S$A~n^5_jQ+8 zmF#4<%Ef`Er(Akme@{)`Qjkqzsy^S~ZL{%#UO(Rdea!G5t7(Vpp>&1cUQoTy%VQFH z`4UO^gJS^_DoDYn&RlNsD+nS!R!eH&i+!R2qZ*GXkyRL>a%Ajpy$R(FJo{eCa+tc4 zTv>hP%jckenC?@GJ^XAUy)4W4qrK%s!(v*IQqj-F4WkeGdb}%)o-kVFm`jbSwi2yk zP(oIA41?^(4xPVm^;|k-;%lZ60?i@PNYylWU+05&DC|F@Bk`Qgus=#&!#U94hj=^c zX$gL2$tU;FYi7pKJ+-8jHMDN8K_=vbmmkD4B`a-<7v92~9=a>z8xeJPok>zgZ3rU~ z#dTNt{ilS)Vv)W)-||GFHK4%Fn3enAxjDbj zCyAT!=5*6b++rmC#t-x%n+7i2F1nn4AyP%~v8`7nU-mT~=ke82ENbOUumXOGQn@Tr zm2~5MOz!ZygqfIzf7h5Gt#iQ2`r{J;i>lOdeddUchTW_%EBQMw<%e7{ z36xR z*~|0<;aBGNR=B>t8BQ1h;rjo((v%M|BrpfIu#g3*SfCsi(n?(55`!-go}z`A5mduF zRJk1fiS0$$fU}nOHw}+OSv&!mFIhI<>6$uT-x1qxu068X@@q61bzQ7_7di5O$U5t= zsJHHKkHJwvML|GGk&;$YT9Iz)M!LIOQA9vMhEAoCVd$A52PCC)=uo`TWxd&3VMlcO(xe_O}JmA?8OqZ`3pt`RQ^>U;aS!=Z~FeC`U}+pR+zT-3Az4wB*-9C2$6Fx5Zw8i9Y_Cph!|G!EjmO^N;e`g!yVB$7 zoonx2*Au8$=cNX*-xleUrhJsTGEI&Cg3Gk>N{fMt5ZXRBv;7jkX)J@ka=Jd~UGc9N zwhNLNn9#P4&HuDT{MZ8}{b zpkNvGR;;G@wekipH0Wmzqh9e$=k==Hi5l{&;vUIitsCOFac|B0leFl2$B#S#z4#u)#+5FI4K>Z zmV@T>)bS+tozVKui=n+ehZ2qk*j)na5~^<6G>M==D>HhQon80KkbCNb%q}%Y-&4Jf z_LGUpiP7X!HwMk<;|C@P4O1(ftE{>Ve>G9+FHW0YW9H||;A@-r-xT<2cnyKx8p8(G|TuVu$^>DS+dA9<_@tRPlb(X=J3D<945XI^B_~uX{wM`p$FOPgm-`zBae<=e&%i zV0F>C^v_lm@bIHKd03O!-HY@K@Q^Nazb?paV3-V$QSUJ^X}fVtTx?9NgEe5*Q}#eQ z*Yc+!V2|+28;s5^REVAGFmzE6eDt3TYiz>5X8dd8;pUmFbQ8yd?^E;@7WqIUV;aRb zhgECKW#oOk!ebp6OK{Q*^aw*yB2-g%ZQNiY?W9lbE$)!B1ls8zUVc3oKE^NaFZB_2 z;J$OJn_!GXTcsWx~*(9uIdBw70z#2$Zxa9w0#)nAw{T}TicD4GKS zz?Vw+{&3gY^wfn23ZJ@KOH;SGO5<4n(LvpdHq2T-Zd`jy$oX{B7?{N0=u=)@0Sk^0 z@2{Uf#{CXJ$L;i~d**oVe?>KwFJW4;peD>a>2U?XK{XLpL;y$^2s*}$!3gJ%?rsel z9Pl{PSzk9Bwtuwqwln?ZD4x=0&1L9N0@RPoYdNA zcHZsoKK|jy3=GhvCduygoNTH0wl)x7VjBbu4VuX~WhGV;!mR~Hg3YB@esl_g1A6|Z z+UtAMQ$UE5gBb1X-t=Zn)e+3|36qiJmHLcv$l?n=x6SCm#YA^D0zaZtEkOaq*m`>> zh-m~W1285dnm~s!ooS*5^{>VG@H#dB)3+Bia!D%R_X7i})w_c_2cS3%WD9eeV=f%M z&PCHO=)JxC$QpsIEFHylE&TusdxB+VY|6DJ0BQ}OnSNB@I%}F;cHEDq4ezun5}!<# zEPy`j)tXG*BQ_d}0~kCdWmXpkuLFHHf~;w@ZQ`iBxo2Mc*ViNf=>HM5uv(q5D{}GTBBS4%y zjRoS8afIYLp<#U26x8dFbss{~*B34U$`O+TJzB|Ua;V$=a+KwLW>sUTiuya>rz7A; zB>#GsVGLS@qiz_O%Wm$)wm;yP|MGuP-^H5hiHv{zH<0=Tz|&teJ?PQPgY|R&%`Ut9 z-E(x5)`#}iK&EaD63|PERLEc0a^%h`Z?bj?d}5y#_%M#WZjRniHZe@uNZ-kj2+%Kj zwa(JL@UGScHi`n+450SBJvaa}4K5BtdOl+E!-8-DvAYXEy>6o=iz_8-0yCy?;(hFz zR>$ccCswpNZ5jl8HEtm$R$tkX+Rl1qOI8kSXTdAQw_7TBA;2P_0z?kN=j%E4U zN~-d{wv>+EWwS@i&o;pw)$+W@ByhB=`5x!-ih0^dZa6f)u*KEFQs!Tq{fq0p?Ij*S zh3#UH|41tF;vvvPUQ$>b)qixkbIMoI+!7z^=9>7`Un8gQM>AVAiIhP3NC=K3!CW}cnJa!*do#u6I@)BZp0pFnAq^qyrv*&dF8i#W+7TOk;1I#pK;ra zk8|^{L7qIQWACqAp`{X+i*e%h639?pD^J0>X1^0t{_=EJG%vZy$~s|E61p~#&#@ZO zDxv)<%wsD1+Y!uNXWB>f5;#E#Mfu0)*B<*w7}#&F57aZI2vz-icYpsmXR3u5gf(e* zlXBc7qk4&PnOBN8bxRcbuq2CD31gr9;@rf!^HDDL=5u=y$@qlpBA(`i_ZCh;4)vN> zt-2&UwD8nRAX+IFa4?*?mg<0b+Al2}vPiYaV%H9a@15GLX1lcb`LFVr)w})L!ihgc*^Q66 z?ITI5w(>21{vu>#9{82UcHIdvC@pN866j64|B9W;duPj4)f3J0OiQ{7iK8IQv1)YT zt^V)pV-5wN+kt;Q(6#N@aKdNb+&hYr&b9t&l~MpyXli@{*BDA=ts|8+;jW3xMrQS3 zB!v+2^=kwQz*K08@AF6Oh%vy_k1+2%p5pIvG4 z*&k)hABP{HI;=BgA4(S;6t7@_yFcb@N zb2=8L7`kMGJX;as>5xA;HW@b#T==xK`r#pCuOl*i^ti&|F#h8@{*5CC-(9X^4|t1wqi+E8h_zSlL9);j6k>f=3eixPv$*! z%anqrGxTlqtW>;rD2kVu0DQzMNWpc>3ZM`WodA%CCXQAZLxgpHOF zsUXH_jYuxhwyEj!G6ZcN#!dd49LG@HGSt?jg)&S%}fTEBH!dKcYs=El3KNr(ZXHw~izj$|UQ~`dU&@ ztY+!!EqG}TQ4*WO+kcC!eU1CuGcV9*9i3|a-4L`u2b1;b@s@6srx&Pso~;`(Z80yK z?g@2#vryAkBmmgANXNixX)Ef0w0NdDQQnM932Qu+|8qSTK1dYMF@S}?m+|w-f;}VF z5~m=UA`i9SBvsqlbbrsNb8yI)qyzyhvnZ#$m-zPAG!sfLK^6!BqLsPZ8w^W2@~w~_ zYF3`3n-Aw=Fh*c}(_^edEPk>n^AQ(Q@Gonqsd@PE(Pe#vH?rC1e6CMLKArjP0o2(o*5LPm$uG3BmCnj8u&PZ^}mvR;XkgGwZy~Z z4j5R5Km^f{^>d2;Y3{uH`IKDn5+9UEO#? zJJaibUe7M|@AYnR7sU7W`im@+=xE*in6c&;FO<`@@d8o{9^7MLUHnEI*F$?b#N)F{ znp<)U{@ys@`5Iv8>!ZW(-&wpV5w#-wa!5yorNm`Yz==UHFsA zD6(wXCbo{p1%v!++4OR;AsKNh+G9qm?VT!B8LcpOkc}4~>V{|^R+pXjux%;&4++QwqnG&c9P zUgGQAyW~FcL(DAr3H_rhb?hot;9Q*LnM2vV=8_q_Hw}M%G6n9U0V8oA?-k_r6xJqY zp=va~Rr4NTi+rs73-jpbw{o9G>57$8%MhhE^F;|8WxOQoQ=T*#m|cs|@vg^BhyjAl zJ$H83OHr051zBa*Vr6}l1Wz+zN+U!Q&x%UT%Za@d?npxxYq-JJwA0YZEH*pg3z zal=lN%_gVJdcUhEmB2Bd`R4BEvc*NP-);#;Nd_U_6_z%tS$)ZVmH;V|lxLRId-_mm zdUUUj0%P_FioH^2wo1iE>=bw)=#*anzKg>}@=QPwPD__A?kA6_#f<9WhQi zhx=i2_f#JvXLSMl(~1mm!G2dMKD3j6q2E2PGXAOQR=B@=_uTKZO2L*cdl{TRT&*8Rzs`5%WpqWVcD}3cC;2OJ5o+f`1on!H)0f!2@iJniN%3xzVJ||{8e2_S&42a> zV6Qp1{)9_mPiBgWEyO;1c!L!(8-uY*zWoOZ{k7F~vBsuB3sxL|vv{Sw&5O;>JR0e7 z3ykk*5Y{)2p~eVZNxXHy*XVut(^nd7N;ReQ57@+XU5j&rR`_Bf3>H?f&r&1_KeD*@m> zn`iGMSpG3z@E1k?Kl=pf_8`Q+oJVWu#?`ufiY;}W<%bj^Jw3&pnR+Ry@=Dzki`x@| zKUYi`C;c??CWF@I9*Vb(+RY5uISqww$A%{zTy1nAyEFT#E0y4>-5Oi4+Wg$C=mS*N zO4j?9d9grQ-Pu&`qR^p*Dz6ZK11aTo|4C3EIZe814>_=y^4&NTz01m0sGE&d7o3vr z!c}Vw6{7VtkheUZE@mo`v3A%97fU|2aJl|$6*-iWOg*R1qkcnK= zm?uS^4L_h5w~5Jw?A&s>oW$61BIk4I>g9$C4_nq+IV{_mzfeJLi#V%NO@u>KzeAwBuuF>kdghuv7>$dgsTEp4rf{}KbY6N4EZSp zQb90C^$CApDY3cy2`?Aj+v(-MqA^@$=tmOs6X5+<>P*;lZg?3O(8NhS?bI7<&b!MT z^{==kK*yV7XX0`Fe^}kq5@?^0Q_zk;CP{DC=#= z=Z$g#KC4QrTaKmQd+r2ZuLR;YXhHIzHm|g2O=cV>@72YJ;}byb^9tl45KXZZ$7l~U zJ}DnbFjnRb4xAXB2|oDcl3v~!fAe)|w2qQEKoQar!y#wEt%J_r=p4YP9aq!yt8Y?< zI5Cx7g8}crENd{zzc%^N<@>qt#kaBBp?fm`6A-WNmF& znxM(Urdr);pI43(6j(^_qRf2D5*3f{#H5-Evz}aJ4$jyI@hNr%%+I2I(@H&bRPBKr z^i*xSphPAYXh_{vV9OpaU+eaN3oKwkR-T% zjezHHeg4w;s08Ko)=iT3uAvbbpF*CEgYpFZ{5=E>kg zP!TOc5?jW*aP%+>{a;sa==rG+I^Kw5RMK4}yG%ZYttAo{cEz!L@<@Fv5F zr?FZBMqHJC4n>>O*N}sq%LW>KuaqYqm)duA324urnl#Fvtou;{4{5sRTfUB#uoL*Q zK2LpSyQt~LzPCYej!w)+n@)q$YvX)drRnLi14zDiSA^(9rwI$HUQ4;)^1r)bW3jDPtD1dm=$opPO__qVSBl;&B zC*%j!PQ4G8>j0QP*A_l+VH)C~n0DL>*weGI7^Fv7LD5sr7x?zxkmuU3xcfr#bgIn& zw&&H*r5EAcZ{Zf|iH+lMXk*vdKTTMtV~6$YbpW0P?;-xxf}>x%l5TwLh6{4>d^L zaNVNj)IdKn^LePov9@L0mu2ni%OT&X`#fRDPaOb9{8oT(8cUb)vS_}E?Fr{yKjoDQ zAD?o?NiRjq$v!synXv*`e@WtB08cD-;svXvLVsMoPR7XtdDBkv^RyP@zRkocc<#+E zIag6>rkM*n*pIxHH?xT0b|{u;Ti$9~O9hH&_t*yOJ%TU4%?C`QPiq4TC&yyC=nr(f zsQ$143{ zvp??ym%GqU0#}+9*b%#xioo)SbxHlbfr2N^LP5bKyf9V82b4ZvF|S`>)Nkq9%g2Kr zVGkd}PHcxfz`@@E-cw!vCgB%n;o>{^&TSZ(^)NJgdMe^3dAr>QRq`6pu+KEn&Nk|9 zU}I@zS6|<@@P7C7;z-JQ%`E1ZGSo|S!`hd2SAjWi@bO?K^`RjDZM9uN$eSCXZ^6-m z?Pek}1SCdapGQnd|8rB|FYoXCS?Vbz4jvCzS>!;1{uZ+S%@ToWogh|FCx_I{%|04% z_Vi-S;d)V^?tlX6InXM7McS~gD|*SunYnRHL?QM%OQHDD$NoEzc*H4E+w=IDR(-eh z;?b6y8DpFEfHRSm)S7wBFQ<~m^p&KGaw%@r9bHRwoBX z|Le|Z$TQ+&O<3jPyYxJMn>eTQqqENtP43g$R59>qt10N#Oi@tSf0dWQ{SPK?g+L!?YOv-@}A5JK74Cpziz^H;}dXx#>u!Rm|K7>gNHk*bT1j zY&d@AJDZ8No1VgVW(G${UZRmd_#<0Lei}KAIlCTBP7%C)l9|FS;bz0&?6b`!%~JCT zO1fH+rGK-LO}Tg#sn2b5Qnx1W$Z_d)%dTADLN$$P;IgTGIOAQcX}G-?qH1^=o|{K0 z@qd419kdTcht+T=+VwU2E1+IpSnb}V@Z8L7$YBg@W>+XQ$&GyXT>H~D)j&U}KczT;|O~YTkXA+#V#gEHEyN*QAw6`<&kW6 z&uje|b>|KhaSJ77#@p$MR1sSHCI7Zn+q-{kwPvGzfYO3vR8&C=t{rQBdO4-eier~Q z=Xp;*L*%9KpGEQVo+NFJy|BEQHq8|I73?j5g9==-N$#TnmAbe=E~C?>OycdeC2MxK zLr>vih!1+}zTb!Upy6SqA);{%m}YBvXtdb`D1@EYCW1aNfqP>{N3T*Q>h9?5aep0u zQ@r}&L-`v_w5OIl4KCAiW6MSSezJh}s4{p%!|y%HD7O%r8$OM+p1o1zus;Dl3%hh22@nh*89f?-TF%=cvX?Z&TYP=z&7e8v;Mymd%@N}LBk>ryCfda zF9}6yob6u^W7UL>Bqn{FP|PM)qp8W&UZ1;A5u-_O&3lrQPYjwxrj0?u`+`RC@rG7H zNwHwwyFM2Ht%#>&EEXK|;K5OI&4Xj)Mp$-kIb2Q@Lky2Q!B;ZyVkv#zj7k`;%77j- zYX($~8L|-76P~ztu9R|Ou6iL|ifCoYFt;GGmaOx^r zjiT5gX128xM#2p*>DFFFjCW)5Iubc#nD%BigAO5Yw!nVlMy*zT-svY?RQfYlZULOU zZ@5K&OkW=Gu8!{Uqt~w)PCUx|T>=IT1B6vxbq!sjbKHugDw(={lU%Rm)c-4_`uilU z28jOsUA7hA`@yJ!?Q?YaSbDHOa;@pmy}O;# zIA%VLxA|BRf%x_HH7L{EEk#a!_|Xr8As8n~e-;k9PSvsm7n6VkWNXGIrf&b5FO49% zacn2{tu*n<1j3zGX-~o@ll9!|Y@Il*jhkaD{MD!_UUGi>iW{{4jaVYfn8z$;Adkpc z`3uXWJN~Y`DNy?{!ia&KNs;NLsBWWObh{OqPFeDQl@s6pZJ#l`M~C&DgEt`$??6hC z-;krYZV2Kp{;Y`m+_&=d-Y*ke^yhJD#ZR<7Zt5aSkcx3aRBo!xt+6F>riETRNr5+x ztz(sJQx@&a!#}%;4#n-4wkxTsO@)wxDIe*;@;KJJBL4B?YFO)I9R7^ZI9l{qmz%=k z9>ZF7+Mt5nMB8xVn}WJo5$egML>5N>s`w9h!B9=FDY@nGbfUbEx7U#O@6+CWA4ll{ zhVUz%TiBXiCb3Qfjp!Gx;@SgZ0wp2V4vPh1Cno?-_G~q$F!YBB$FFr3N8747nRZ9r z|BB@QIH4;5!3G3%K_29w5O}P7abADN=I53p0;iovkESgNYyqL5d+IpoL;1tTPKk^% zzXYbcRQ(}V8{JqI#1`@OH+aF#r3$)5#{~!OAixtl;Inc$1*g^-t&p2IF}nwIJ|S(} z;ujmkG2&*-!ZPVnrLRB7s}q4A7~Bkj3d`t0fM*GqP~8M$XX=z;8lLFK3iOcG7$-(+ zi^&l`Jb8)SjUvt#a4N~FyE)5I8C7PjGgB4!@Av0H@b?xd0BXCv?UIk~`xY&vwr!8e zj5k)&qax^8{^F@lN4tXI9u4c8_%WILBWXcQaE!@{E&0<;pfmvnlOf=+JyFXz1RO{= zgbGzRj!mUViKXD;^|uPqfkSz+XR#BijP4of0Cjp`YULi*U&6!rUEm7c+UxV`=x`9$ zWi51nb}ID}(Ls>u`Z_YP0Ud{!Y3!G53%@TS($#}48YcqqT$#CTsXLA5V^!;mkK2$D zGqn>oUUZ*(L>YE&%cw9i1zdK+@%F!yuen)#JX&mcNr34w(=rXuy`{^2-qP=SWZ&$h zPWYZnl}P`{w&!4+>gG%4Eah~b8ZrqoQ7q6Mx&;A$p0h!NA#X@Gzu!6~$5`bkm+o{; z{~+k5=u0aW9Cz{;W1S#m@IIUN<^H+q_I-;#qiH7kF2!8jP)KR|WWun)GlMR@EN=0`Kp#_$m_Np1D;NiFiZ;o7y;LEKv#c>|j4`lBx=*X*E~EHHU| zUjwJhhxK-8ZN~(R)T}xTDpq!^RnGM?(@P^p5N-AZ{=#juPO(Ca$=ceF zRjJW<&daB!+G0{Oq+=3GOKf5% z{qI}sZS0oiy~&i@=w&Zmrp%G70Xy{4<|^_nqFr(jtxQ+Q9MDYGU$fh4lMRqoeiJ8- zuiNvjZ|2ZL(`EgKL(ADX;#gKLR%^V2pWS|Yqb-)(-jSPsFQIOXSf1yW2(BS7t;9rq(B}fIPbd< z1S>8Kiq^R0x}OY%fwKpfsos{T-GzbxCip_Ld)$aFBH{*Nw;fzPteQ^RO*%@ZV!d|) zuh7&zUuIjqaWnI#q^Lafa`pJ!+^Y(v0Ur_<>+FKgQ;Oq#Kb0+KKhLSyaO@m+xq_LK z1k#L1yL~G*%@*@`{Q-R4?!IczsN42gqWtic-&a2%PD^+R!rg4cvl1xl&A&&26;Asx z)2h%-(aYCZtQWOHpPFzGEEKa0b)2fs{yJ*wYg0Xl6`0$pHcY{ta_^*zqbIUz89^3D z6fl*|8>&?so$XRywcWHpk zx!PgU4qQ65W~!Gr63-07u{6OCvIoRbPfl<>y`R4LAgOLy)e+$jScan2_S^IrOSh_>?ZE~$ z$|^Nusxa(Ceet<}?YdiH=FV18uK4TkmC;kS&s66s+Dld}(qoBaRBJsvBbYSO2Dwub ziB-e>&|Y8Cihth}WWep#3a=#Ojkcj#niV3xT=lfN$#aXo7GoLSS)lfc0mhx3PoAWI zXdGcIQf;|L>gQHfRxgfaFrVyE%&vAq7)vJ{nat_uED+gkR^}(dIBa>6&W`)TMV*6k zb++r23%}*=)9=M3@$EMg_B-z^*I&rgu6V_`nHgYwC>#mlW? z(q1#mlUrr8egkbkkd~v0V=1W`<)phg1ZV8!eY2uiGl36BmOksTS*Zq8VJm8%7xi?n z1Y7^Ump7H4OddhLHoICPNeC7R1}G<;v{}^75vGQ`1xe}D$?ru;TuNDyTWaio zmi>}HS*bc}9v+D1sS2m9Fj<3kOgShO2abAmRZhC9<+`@+1`f&#-uW^Q9Yp?lExSam zVvsk~lLuuaww>ibe?X_3C&^G=%w2_ikEt+LNs8zRu6KU(Uj0kwO)pp1Y_6MadR1| z_P$j$9P2}Q(!m#J`fFMGDq0a?Yx&RD#|v{XW>qt&Tol+zycP)?_0`bk}C8fHm* zwh)(91A(tGY>T5Euf*eHP1Rg(SbM4uP%I!dN+F7jg>AcQqH1ps`MG!FP?Fy{i+5k| z(kcVfNYyXuFBZwuQE_D%SSzL8+;`IW=>PqAtClqP`X48k3zMS147vGh!L%3bJLJa( z@Lw}7zqXK?P851P_e9k&^f~*4U?zNgqJtl$vNnFha%6Nm z{c1#$(V##3+Vt?b>B?OSK{YN*GoB=JIJ-(|{^%VYq1LRb1sf7EZ(tq8)SjplJU{a*n}iKZExkM{Sm)Sf z4%0=2Pks``q>kODv#N-a8PaFP({At5ubDD+CfVER7Kn+BNs4!K=Ul?x@Xa$#t$cLu z9lDh#@yDn9B)@pghLqJsr2*Sa8~JWaYZYXnDV)_x?cG_Jo-OCiwV6?^$I^#ut~j<- zc!hf9E)mv)^3j=Of1%VgY3!w;dVPA%Jof~0D%ZWY-+I7DyxWS;n=v(}JR0jQ0lh+r z-<;EA%Dv}_3;W1)ELf{*-6`BXZyrx8@3ib0ho71^yGGF!KHBUP#&Kp3b(tVdF-KYF zmyYr{tty_{SrgOo$D1N;u9qbH3stT#HZzLa^898|DZn8!CAz z_sUdL)6VL&FEgitF^O63#FE5(ep+8*!wcJkXXWU!%$KA@E1?`EdK~Ao6-m)k-%!DY zL2D1Re8KV*|DqliQicq3d1bBh=QfW%{Ju?^s`q)`p#gi)eLuZ2ZPxtA2>v+)dfey9 ziyW2Gkg!);_Uz%xKH7FA&7HKq4tnR0T3(*k3~&~n&UVpA^QT7tDyi^BS!GgFkP7Tk zrPj*xBy|>3EzYb-*)%t1E!Qy)!Kn`B5;Z9lq~d53Xnj2zAaP-Ov2N6UmF4D~Eoa-c zYsv}=zmE4D@<}XFvgS2qnhVvHswC)&>b4tAB5vervzvfweQk)ux3)%z#fowBjyf)FO*WMqQi5OcIeto3cO3am&**SfUy&=h&K{mgtS0R2fxz zEPbwi#ok_96D2z3ZB|u;VEz3Zp8JY&+=aX@*W%rCS2d-O?&w*7?SV}&FY7LYiy-4m znyt~WQEXqxk2VxpCvvpRrTYejw3LR7M7Xdf>C7{??axTuz3s-F?;9`Q+ll0nYW?X)%CYCtacrEQugd5Ks zmnp%Th1IH~LOd@v4~O>C>(EqFjKBXRHLSCs@O+{WW)2@*Dhqh;DC%WbvTtGZA$*?h zd3(DZYUN9AR7kLFWT#ob@ivMtJZ0!xu-859oT8t*0sF@}tU=7K{&b#pKD>usmD11> zxZA{er`d>&+iCgIXL_G92}#@ugEQYRGM#;AD&L3_TkKHQ@*Rxg{qBSYbZwjucv4%-| ze-i`>%bhUql?Ed3tm@2B@GY@V)1BGR(UM=_qYU`GrHR+Pm>3GzGl0`q)bGPAaW_=G zw`zu3NcTa77+mDj)Z^8NW@plLx-DUf>htPio!Z3kDHK&NI?8fuzie@Ptjj66ifj74 z9c3RMa!ovyD+af&l;Ggr{+#iu7cNLgb*}yeUNG( z`*bseKT>&`+s-UX8%Kj>>2NOb)XVIh69I9ktN z30gMe0PS~XY6nr^;pW6{&whn;r+Ag(BJ=?>;#hMD%RLr!pk|T!1x4O_Wy&s+*46&* z*BQ^4F#0I2l@Dj8x)VjZ0uSZ7S%w+sPN`o?sE1dR9%w^07wij#|i0fO>TJtsbgE-0N*2LNa9UKtMk1aoKx9UIZ$5DIDt~;n_R=Q0U zT+v9om%(`~f!=)nhY`m&t><=Qo!n1zqEk)b z1LR4!XD3k@GYvW27cpZrB(82goz|oNA6y?>m@~yBN=0Yhrbcf$xx;$MleX8!?Be#w zneU$?oktmaay*FgXhFd8aJ|}-!`Wuk?Qxo@bL?E(8GIm5Nua-kAXxs2AkpfI;2?B% z3bi%5JzrIAFUyU;#r7-jLn}S&EF|MS zt)Wb|8cpSFS4x6$f33HonpNuT%?0aQT~i)X-r*IR12w5nE2l#1fI*u`6;w+i1bwjJwN?U$*yB`oMk z!fnq{BZz)|-EY*lhE|c#1!B*n;vqT0sD`jQdmG4)DcDKU`3dwr2HpUBd zG;A#!Z`7c;v-LQbJJwqMP78f$YfIc3(0 z_a<}bsBhssU%PZi3crS}iS!o8qQ$>R4XTK&t9l`~Gd;-|tTigP(D)3Q)?4H9M3jZ- zDr~Y_IJQ0}`H!Lf5dZD=Zd3b}#LLrBDz^O?+z`dQj8VvoQNA&hmEa%T(uIfr%Fjb~ zU)9dee3WZ1CeFK6BqXY@l)KEBu%c>C0d3NKV+2cNzo|Xy>&`ZZhRJR}XUFk~sb-rX zI;|g|ZbbdC{zatAs|1Dir7%ROH6Qz$PCc0u2?L>KjIt;}WqN?G5YhCy*7PP`6^~kX ztawxqoK(#wMJmQ|DkW*~0EgoPH)QcWM6j z2bSN37INLwkcokG*`}@C{pqD+II_^&O*zc;1v?0w6h4smta9UrYDI*v<;StDYX$#+ zWs84C5sy2E|201`l+ah2pXlB4kf@7&Ol^~P`6)y9N8ot8CEW%-1^dcYcNsk;`4)a+ zHgSgAjg>1Z4Dw6mP;C$hdM1?mIW~*kj%-niQdSv>m|iiVRFGodOKhc`;3-QHuHDVY zjTpMKlh^!zp|q=Bt0{N{17GzGUmVR%I`2&OS=7|h=1Hw|i?~w`y)PZJ5L-~fK8t=F z@u~mFW3n5!P52ui-983DAP}(t+?Z8gW-x%_Wo~RZxULSrnw+eVrZ#VF0o(QphS~d@ zn!^ajfQCQFV&-hzbuU&txhL%1Smi8QfO~fc-yOd<=X|w)r}j}u+1ZJ2%hOYH56Q4a z@;s1R&7~%M9ho}MeuBD+ovJkeZ08bf_}0dT5@2r-QBoEFl;AfY2eh@@315}%>|h*J zD6?OASmUS0?s}8EKn8A0XyEI-@UT;_%7Fb8T?KBa){Uy4FwO-7^8OX9c%)Oe%s{=k zEW%zb1Pp5Bl$CL5!PP6Os+fUR4~2l6OZCFpS;aocBVs%xyoc;Muk4Jf)eK~0ZO_^o z(p2(bNIc>0BsN0n0^KV=p~rT2XW`xUe6k`o{P_#St4dC0FG?Id2c+fqcYFHdT>8QK z`Ao;GWj&Oy-nB*t__tq_Ra9c4qG$l?3JB3%+zKu}z6O~2CA#xD$pSTo1z9pz!mx0o zMxg;l_H^u-;-qM0iGTdyTDu-TCgvZ@z3>Tdv>O_X1_$s2EM4}^DmVN6U75IfACwvT zSBJNxKv|cm5EExfQsX~GDV77A?pCou+{fP(Z!F}iYXUW^MsUGWf+R=>}vYxO3t5WTWa}Wj-pb z=1Fx}3lV1B9X_!wSwJA=yMDyh##Qx#_MMAA1Gx0wro;w$3;^PD4}kp}8^u}-cCJ9I zg7V2>AJCPmIn#s#vpq66O_D$CU>@x)J_%@f*GH>@rbmbYbJWeAk8JW_gml7gs4k9p zMa(I?dc1RVYbV!Ax<}L2Ei4%=cWq`GbFjgL^JS7Q39)6pXX?#67+ka+P23}4uQwqX zw{O4H=b_gGLbYjkb*t{kek-3@18!l29x@rUYqYm7Pe`>S;j39?gnKPR3o1{?_lPJn zS~&4ypc;J7*1KMi4x~9|%`gUoOTbVS^fuQxTDjQNh$`4cvI>-L&3NK0dz8MAxxJR& zO2fb0+pDKbYVYed36phsD2&Q;9*t)^>V7h$nsNEh<8aNtsKCVtve_36ZwgKi1t4>P9_0+wL;@-l|UD3z2-PbW((oi>4k0K>AU=qj+6V@IY` zacq|>;l_G!<(&bN^65W$+WU)A$zW@1YcD`trgcyG>cu8=#f4czT`aaaS-goedLfO$h z=R!jAu^m_A!cz#U)ZE7%gWRx8z+vAgpy+8Ut}$D;jBAduKRY?}nvVQdl3C%Ff?lQZ zc3DVqx9ZQ9XQMy~SNU29w74}o4k3|$mjv1`N&;3ffKV%RezL7y?qG=MbUfHFluzMT zD=sF2@sN!c2eWuu-(nka7A;u4XNS<<1!{pyEmZz4Bk|?{Zr=~)(enYuN_C8!$P_iU z3!vqeUCDfGr(VRw0H@VL=`EMUYhTdgO0sX0eUe3|m}ACB4Y$HT%@YAUTli$-<%kW^ zDOt}EP*S|MS{V>tyUSJ&YSEUMVM)K#iuPc09qbWrwpU)n-@7g8AD?A~SO!w5y#T|O z=UZ@cwLg+(&fa`+eXgK%^e?boCM)z$Mtx%o2Ig%IR9v;IJ&I+UndN0K-06j+M zeBb|EGSG-`*H*6w_n_U%$`;4mb(fWAO*14p%5ZwD;qQbF|7baNDT#r!y!7B z@nx5#R6@33pjU9#12}bS(Bd{4K0d8(;p2Sp(N;DJ=74gT2G|w_&GYR)e)Is;V&UxU z7OJSaNas7hm%ok3JoFil?P#W=$msx`ag3y!8&con7fuSlc$S_PE(&>yO4J_vdo6Ka z)Kd}lfSkSCL}D;-P!04#5_#?QE4rzA`38!yA+Cgq$g0NMRx~W>d-;; zA;1vr0Py;rv}!uRj5zMR(wIAK7y)G2UI!trA68PkKBAVv@@ zTP88{K;${Xb^5(ElQ#1*P%nT-s#m%ujM%7G(c{2vEnRVczn|w9`3oMl88`J%9XAabmFq^&Vh=?dFhFZ2n>=dfxxt^qkg}%Ap z>8^%+0!LQcOtd5*hb6#yQYO4LHRDr#wxnD50Qk#mDJ!lFtZbQlF?Nex$Z%5Ai@pKwR&{5w6w%id!dt4u!2e%5=lrVQVTZ)Q}%QG-D3^%;Pzu_DdanPQjJ@QQmyCOVzQ7)E^bqY zYqjToz;n0K1&c`oPvRJ+)&U2m^x(mRtkjv+Nqj)~18{B2zD#MapKq^4M@GJyBQ9oE z&sPF8wSZ`XbqiiMh zpbji6Xti)}DnXAT9{WjMGvyMNk&%&6RH0As_oqU5gS|RsD;|-?(ho+CJeu@R5!>-L zJPQUHoL`*H_lGN8t+A6eI^YKYRZdw>?o${4NloX9dgEbP1K0C7Z1r*nC+MhHLf`H0N zyacu#R;M%YBV`u7=^QPr_JTB3_sWEHkvY>V^b!&h>IbBAzMa1Tu7JKx%I9PfX$H+0{NvxPV;cU>((vE>*QP)pk|e|KOstU*4N83Cte+hF66Zw>dn(ARog@3 zk@48X103<%aJPSV_sI~r0FD->^<&@dp8>8rMv7U)T9WH2wHZ6p>s78p8f4t_DKSUB z$Gt|7U~|f|l+4GvUxH1HmbP@pWR#7(!o%q^$tVbZ zzt=a0;E_B9vc&+hj#xt<+hx22&!Z1;WQnM#48B>bsHkvT_R&sw%!K{EF%gzlAi4n- zG_#0Et#XS)cC~cuV3_ZKFf9sauKCKQj9fe0J~>Ex_+1v20*#|GuTl9Z0se7szoG~n zfRpk7(ioZvu$fCh5LE+sxZOTk_9X!29TZrv&JgxJvH*LgDgC|e^(qH~%?Y|*nbr=+ zWanpSs~bc~o!LN-ktysKcyo3Wm6pI$iR&An>{1FU<`W;Chf@fs&wBt~nb z(zMb%RXfLf0mXR!dXK^xE;9cnXvkc`0ub3anmRwr0YF^63yUWT%$8!Wk*Y zk^+3VhsF0H&%I^MmotAh|0mF)}y;k3hT3&<931fO8DM$%z8)1vBSCnU7X@>np$^Ki}X>y|R_^Y`t;J;^#l^;^r%JW6uuhTs2d z?=8ckOyjpHhhTg(lW74TT} zDg2|x7f(PsUmp%%>j70wy9Qc^83;XlAdCXZOlQ8f^m)#{m!ZAC+~9@ug0L51%iv=K zn5p-X)fZ?q?Xa(b^mGPDQLe14biq=~KCSC`12s&9za@mKKU;@Li-o7yl;(qKrrH(o z_q@Y)AtSDIq{lm36Qv8uNL{w~5cYz-6?`r37>~df>At z=B~>*%Vqi!&K~~Ur&r@%1u@+-j_Hh`?Qp{gNk%GqTIuqJ={OfTu!~I)7J{_CFT>j= z=Nvdfmm4(Egf{vN2H=A9vvA(fTxXIuTiL{M%fWCh*}Fm0m5Jmljo>}_xuszT5;l^k zM=O&5%|A;u*Q4LSU}}SiKPG*89*nq7xm|kCH%Jz`Vdc?o!)h(=cAj2hBA#%|@8df^+^3gR&YQV*PAyaQwBC>VkyN@2 z!!8hIfJvcFZGcm6l-~H8gN-lKFaI%r)OoE_x(S;@?;o3|BoHuR&r|9op@phyjBZ7W zhaFDo#CJ9iXVDxg>eQLWDm<@A%_$w@WVn1;ARxjn5TYHANcPYT?Gn?@o1iFOCoF%L zHT)uhM{R=7`qRM@%3fM@vK|l?mF1+*v_}T%+$=K1+emhGJwGui z#kjS-%|cIq%f`lrDk_s6j))6yHC6`mQv~C!-vEb0WWRayMhTzRQnLilsp^XAFp$Mx;b0IW%$CmNS$ATCa*oBP^$Io=cwPDb9PtPKuc$?f=7D{%V9kS6u9 z)I)4DDmetG>P_Su>cjEoC~1LXwP!&?nJJ%67Zi@UAm$;0<1wmN)^Jy{5t}z_)o~Gh zUrk5d!Bg6l=jH9KF3pjb&%EWXC-T-`cgG-*e)gVg`NM}6QCwM1pj+Nk{2~{sHaQaL z;c}!HGeW1GcXx;=05LT+P2bIBb{?g`z1#4gTr^e!C{L(N=0?1fYIMB{mXslRdLaY7)F{(9g3gEMfhIxbx~ z6{S}Zj@jPc-UEeZ<7<7M#qXU71H#T23*Iu|gnr78i7ey_ZZuSal!C?1KR)7iqEq9| ziZ|y=&Z%wxB?8^m8akTcIT6Jqt)o2uwd`mnUZ;u zgPOK!Q9BCGLd}KVUl8+B!3@7YrgIYzOcjNKuU&CoaMEP@SHWaH*KcoAWFlWf>2VfT zLl2y8lZb*07{E@q&0%%Js%lOM)fGT8naw|y{>ed#;C^iZVfVGg;R+@5Lvh`CFATQ5 z{USj{TIiTm64T{~E4^RKxf_xmsC1!9|55GNYiH-@34iz=^T$jdN z!E%+>_2P(mVJlPCy~n%rPyd2_Mdyt(3?Rk)=+Pr785tEYznx#mM4v!@iN)(UT;b{c z<`WNR8LE{k$p!-gD%)IG`;sK}U}o7!MUGxsPBcF@15Vo2{qkMg63%^v(9OZWb+d)D z-E@5p$IYWB8Rx!b7VENDMpbP!nE1QD2k;`KtQ~k4-0$0!<+y+`Y_765!A8MlAbv8i zJA=Ig9a(3=?Ns_k`YU6*^`B~$1dfmGePQlLqfg1mju=5P3k08&Y861)ojDA=rhE32 zlb^#Xjx76px<094Ia!{=Gvolq0gmR*rH-|Qsw+2tJf}YmZ;l<-H23Y_PE!of{>UD% ze|6nPKUuRv?RJeju?HrGI(AhC!m2bSbNu2} za(-&p>T*}rB9P8kt8t&q)XZjsLlTnVsJ0{iiERA5l?vvAvfdQGPU2XSjuP0o@0MCRXsh z)bU!u&TBJ@lg#f~wuCNKd2@_aO@DB zV?urA@zo;BK{XI*Gw^RG%+98J(>bR#{W%1+;w!r>4qWVFXYcaCRNXBwMwPovE(fF1 zva;DAaXNO^M_TxG)3Z#uQiZ?DZj_|5oB!^QX%P%K4FA??D5;}T*}i@ICa+i6$^H<; z39v#>ciS{LfH5Uvdm!4n`Ys%6nfdU@WSHLBKG^tBGjl`!5n`}}JJXd=I)Vf4)Fy2z z1p$wsqHzD)g4arJ5-*5$qoAybUFD;W!?5Zs_l=-Tmu8=m|9%w;Jw3gul_nPM{D1^- zFe$RpQ(fHiUZ*kG@~q!*FX-s#oWUrV)Az&47+lyn6$)DZLMWj5!e`N*SckL7?o3r| zFII44dYB^oA+^83v60$3sV5HA+S$AYy6%3H_=S88Dcf;>-Z>wZoV1{_xq{|xm7HII z2OV)#qRHgK^hiL3$qUr?GcAwG%gYNvX3P)&>F_T;XQR^NWsirKE_haqY!)16BOA>l z3q=COqEC$8rDRveObEch)MmDRJROte9j52y<&CKC1y5PEyR%KruK!fJ0eisO+PVtV|I61m z1dMpKwE2tWlTt`mZ)AulwbPcI>*>)GrYl=gHV%-Dru?Wr;|#lixLLD{13!7q+Is1s zwxWA$6n8fvws7CoX1d??o<)e(11Ph#;^P+?Fy;#7YvSOv2svVuW&bKP~=fbvt7w`MtaIU;8m7_=VajS!*<=W z&YQyy=5|6&J`ZheyVayk7M7f2yWF%?oCGTxv$|!s&0PjF!zM?E7})u{1z11j5$ooN zRMjJf9A?*a_Q`Vm+L!9g}%G z`RmUYiN*!=vjMgPvyFMf%tGPNr2tpI2Gu81h-vftEhejr(Po_pmgaI^Gle!<*f{yP z;grVuM|pv@+IlgiMeh@>)PpL~JKwcXEe8s@gOWT}LmCm<4__SJvhNiqJj54qM!)GV ziOXK)e-`TGcANNiIe~7=J(~W?$5Ca%uFH+Edf(^IJK*HV*U8cm%q%RKLwLB8S<5SS zbmJaKRGI5MgKwXg?>%6h{gU2Ev&H9I4f`GM-%0jbVL^g1Smt+6{z*7PZ~)GZh8zP9 zoJszl9_r%aBKelIn;O zsqCX#M;T{2ziUxB3DzxZrq!hOPBKh_8h#Pv+EC}Y!oi^g!IG4$EOy8NV!V^kWkp?G zIA#mZ3Jn4~(Ut$OXJJ;vw*|Z4spdQuoI}25?{N1AA0N*%k#+AC5m`$Q`_La%8N%*L zO2IJBaJW1Zx-g_vWofk56=kNpAKOZ3s z(^loF)aLVNb9nsSba*x*=j~n6H+8g(47JvKUrV@EKFqZ+aXnsUb&sXW&M8+Z_gcG~ zgBvEXtH3u$tDp6q^fjGMu}c-DInLI7=F&yGc2V@Rot?4VPLARc{%(xXty3%5TZ-%_ zM7Gq;H{ycnbp}$O0Rk2OD^Jg$s`3AgtOvS}=`A0FQ|nlL%f9h-URJWhwcxg_YHvi; zaaP)<8Mxeqeri27g^lsJGKZ~Q|90lu7oRaGN@C7VC{LZ4EL%EtL$^*>AUrg2(Ac^o z+V^7f`3Gm)mNdV*?-sA8!Jm5FdcB-8H`{zuS@*h{n7z4)4$+U^A`(OE$wGr zPBWemx4$C6cGds-mwX$7Z}y=Rh0_`jUo`C3?(r%tw3*5l_#DhfKig|Nz*l@pKGan& z?L6DUu+sOk`H(A-fbr$wrzfpoPYeQdbleLK)h7R%KQj{ag)KT&n$v^(@TY7atrNCV zvv+$ra?K>#Ff>_;!%|k9)Sr!P8U^<;Wa%J;RFE%!h2c@iLO+S`II*Kn(B%y0OvU?% z7SQ|t0IoofSTWiG$};GcK?50^=o3YyV9XQ+5v!Z}S41mvSFfcP9V7X8h!qiP&!0JI zv}}E?-?@F9JR2tZ90VV4DlYh({@)Sywn|jViL)cP}stC zW+Cbue{t3D@VUWm_o1nkGVDPvLs^dW=oMDzpu8xMmgY={oc9mN3)pT>WM1MAV|ThI5ADIAiiD9zO5-B8U9 ze}ozRC_Y_NcGF%Gu1pwQKV-LXH(Q4X-w_}?v6s{U5)k5Aqb5C53g>Uz*#QfW79OuJ zV%^q>USb%k`J`f5?GTyD@ge(_2b}3fm#qEghgA0KYQM3_)VUJL=e&a-cD8qQhyZZz zX{$gISSeZtJ6C&3l`~wFVYKkl$-U-OJEX%fR|I$8o{qWQ&aC>Ty+!V@gC@;p1>2u?%`Z{uSnf@^tInMswxn|IFfHBbu^+$s zMC->$tCz>j@erUBrJQh>kg3uf&1|<5dPPS!g6OjYg|a97EMOo{FYraZsdFI@&bX#K zB4%vc>VEQUKZA;p=I_@xmcBa|G}j-c_^R|Wu!6o3Q)1pocl^^jsUP;&&;Fq2Rv>Co zzjv7)5Dr*qJ#@T~f9s8OJ$IxGbtm7gU;u`ihxyiLXD-H7fa|>QQ9WYA%uM1Or}cbp zu@k) za-$EG*jOz2C;jKrf1CAE5RKYc)CGcK((g9wYjZ4qhJ=4IZhPDwplc9IMEGe%z=_8I zYqM|IIiMqkOHZ#!WUm4YW5aeZVDFMvOUev~Y-^)G1#kY%U^FrF;AWI`{p|%iWAnip zhwh&>#U2qf^)Gw4-bv$+nojn4*ebr^$bXn2m=jSE?PX_ragyPR1FdYv$}4PZLCw4p zfcpR-W85`}-{9t_2Xhm}lagt$JAKs~`%m@U3z35Utgjug5{z?wvR7WE4Wrhr*Uv?e zKz9*95TbDi1`j|nNu_XHO8TfZwz2d(fl;a}|G5`#Zp~22YwAbEXr4#=r+}5!{4>nF9qXZQqx_klx_R;&~o2Z4rJox4<0WVT&R)A)ObfmKU+abAtkb^k#X7gFSdD zm?hX2M8fL%o!5uTzFhd%lu@Iq8F|@8RxgHj9xBY4L=!n&CQkFfcA9}Mp}Ff*)|Fdc46<*PzQ1n2f4ZuHV#-apWkse4-4^lBus}HBV3To?@!h%rp0lvFC*OHqAS3QblQkAoAkFfc`c7u|c6I+)-(o+9Xf3&_ zX)oh>ZM>dU*)t;_`R3k1-=qw|sm}raw1cDBA{vv+3KcqC1qnq9uXX-?j>G6V+B%Yq z651%N$ND@hc8ZzRGyR!DCCvXIFuHHG>%vBONgpZGl|{21;pDIQm?&rmsOtbCWq3Uk z!=+RygAt8193m>IQXekT`?9(HZkB6uqT|;CoJSAvV65ten{U>W4S-UrQd^4--uv#P zNiPXFY{OPPiMMo3O?k6L&yEEUA=6c9{`P)ReWNNYCSnDCrZu8Ol=_oh{>@F$Zn|uNc02yZiOi3MO}W^a z`|O06fHGVF*yh3o1!A_Ei{XwM(0Pmzoo9ur%I|2p3?xo;K}JHbLW18!XDQU>;B zi%WgT9$QOzKgLWg@&5P8nBD_gS1F+c8KDC6COj0^X*wA`=2h9XzhG`qr=b-LOF5tw zaD5}bv@}zY6+1p&pX{cYA@)4pz++{|UzH};;c&x7*YmCK?n&=tpP2o`SGV?_A zLC18hRWix0joKIdK`~!~&zSoH*`qrrsWE`KnL{u)6%6alORs_B(qFE*Ilq_dw+NH| zZOc&uOono>VFb!0*nCeEDdPc=E3#|yFF~x79IdgYuV4I$MoojlXX0~m@pNfx8qn6H z&j`mS&E0}loAi~d#0K)rbiR{*p9G7S<>KA)*6q?Ov`nvGg&ewb;uuZDu8yS7Uo`}FD8IDB*6X0d| zRmq2(k!w3xVpC;GF;GxYpcX(ZGv6c_N=;@+Sf5qun8I#NM z=^?)OLs6kNc-w$eXfWgQPDz#0_?j6`0vJHSZ>SV)nu>dghGK}xcs0;wew3py8@9_4 z|MZMS0TFF~H`}H6#u1Bg%4HkH!&(QMnuRvY8iAvRKX%+_Ju=Yyb}M;Najg8$a7=*` zL2VMwL7l^S=7U@Safz3%tMlm^dEmG)51*zUqsau|MI9sR&7Oh{fEJWa@Whf)Coq=u z?IhTir?{(V2MGq_MOLHfQvTfqMhOPntGGP27ZgSKvRJs$Fj@uZ)#HY?C{yb05ki8( zZe_-$3NEw7dMSV9Qrs+*@!5Ra|ELIH#F!=8XYV;;;x|Y3EZa2aXH@jREo~dyCfAo$ zTE8-IVIa)lTuM+#@kC06bZG_3p1{!!2>HZ}Wo8I{BhLRQvLrFbo#VeIc#BbaaU)*{ zD^SK&rm)=(i3;l4BrcZ@WYKI1jAZW70!PRLZB%#vnWRXBe?#(PWBD>owY-RFV8H&e zxzS#cn?C^DJQ>wLX<`QJ)+Z+VJiZQI1q5GSeCk$V6YV7+cpg=Mt%I@r$D{T}U7VEd ze0zCyeB!c-_o*8rYm27vu-*vRMao9h9PN#p?m+HDAWR2x!uyy{hSbgL^< zD~E^aB_T2w+N#|k4`i?GfB>wR&c@6&%`JziXTbh8Lq^12{DnCIVIG-^0-&lHV}=Lv zcH2gSsH}AEUXLs-JX*}}wly6q)tWCAJTxrh>~iybl2``MDc`%hRd2xaMr4cIy;Znv z>@;LAC(y95nAFJTPg&F+_Dpk-F7;PPF^-}Yg+JQ^32f&BhcHDJnN=SahsN5v+*p!>al2>({d72o)c)EuDTE zNgb4k}aN3uWI}V#$MT2&Z;iCq#_z^kj@Kdfz*AvY}Y8rW&lf{ zr;Q&`GNr9b8^3}(ejXEOQw8Qqwv~Bva}UkwIe@UIWNcp%&ws@xg8uG;y=+_sbOnH~ zkb3HoZt$BT7kQSeEUB8~S$@P+rS-w$$IRuI8|=gCy55T1^jjFd`6baE)=Kkt_mU$k zilT`b^wj5&tXA!g?B8%JXbN%@Gjs!pIQG=SNm18GJb-K|+Rd?1 zMnz`Ws}|3$&u04PPg{C(uk^0(A3SqTap50A{bTM+oAFZJ4m3x@3FSLZ;AFaDxalM2 zDh`*Qf}q8X=GRUc7DKl9bXkHHC)N_;jd-QDqP07xpekJ$o*n&dy3Js~jkP~-cL(c6 z;h)Mg``1`1aO{uYZfEODkEv99n;hwA56*s|uN!yjJjPqgyV%x3JXRv8Rc(WlG$~{X z(a4*;dnR0d-*Y8gqWjBJJGUan;udo+I}29IlA-gB%@@ZY&u*?vVMNIUk4LnDhpBh{ z+;E0sI-ZNmT6a(!gd3I|A@OYgkzdea&Nf5M%&WY}4QyHdpispHn-ABoKCWyxwRGwF zcV+L*Q%^=-VEu;Gmp+f>&0!<8OwdO_8VaEio_;|8TCfRk0CGdv%Q)nnqt|xUi4ckP zE`xV|beNwHjIl#P%R~aq%l2P@Ry|$FpS^jo@T$azcAfvhi!u9TGnS0~LHiN~UY zEW5`=ELm2gjy;2=-EZKU+5KjX)vZt;X!o$sfz)>2RHg_A1Yz9Ab_ibzq#fFaHKw?e zT)1p4cFR^Zis}!I>!^c#Lb=<&tAP|OYqtQ6APFd1^Sf_n-v-dXiEwUx&Ia`BtOJc7 zU26JYpVP9cz>!_^1?~%Y;-Ue_knAn2hvE}F4CKO`cUr{;t`~3CK~Uz#n=hT%TRi*U z>u0=QKpbe#Aq;ngP83%v@CNKj3}8QglgK&ua8Hr}Q9FZX9uHfkXI_-yBq@aTf}qQ-w3iP2PixDrkL; zz5x}bMqtd)4k7}w)2-P*lYY$I0@|a;YdJL+SB6MIhY*7bWn~eaq0F-Tc|8p0hp&rH z4UKWeO0@NOHycO^dEBeG*Ra7$&=Ak9W&xM^rES~`uoUQ}a16y3X^j6N1*cD+*5&O? zQ%i-cBn{ZN=e9YmXRIa8VHLZ{uIb=JT7ZE3TEfV1GSqR0;t7~0E5X0?7M9;@lpL{| z?i+FV#c@wqL~0hI+)++qBH~2@={>Bi8s}8U%1lZQhl6Dy(K0NY%un@(#+-|eBO0X| zc*q1A1N=xmiM?jK;quG&KPiJ;Mrwm%f|8yrn=!=smS5{@uk9S@ zHBROK87I+_p5>10k4ih@yT{~(a5Bu5?57y+YYw~=3w;{EpI}gi#1W?v6TG(em{zJ8 zJhk9Zi}QHY2sgin+darcd-@;~1p+0?M31*qTF))@#Z~!W*XAm2EYLueLC2%x7X-4& z7cFVreA)8w1R+u@8<7!roV26_9UQ-?r5a`B%}8Ai=HSXzcsTy(Fmlo9dEW^kgoDLu znRiBl=_}q;9L~Psl#*9`a>Xw5Aaw`PchZOAarN%zJJ1n>zh)k88ucRe;G z=3H-QW_ufqV1<^h`C!XAT0z-gQS3G}VD8X6FOZia*uhhIBLF#+akC9bb2hHtRsMkkp>PHyA|ie}X$# z8TL+m?tsa!&iEwC{5+|ZN;R)CvfVyhe9qo^Ze71}q3?Kem%| zlqhQN|EtnNN2Dy$HnZb6=t^wG2g$Y5Xfn-ygSsO3sq=p9IqHy^jSX|FyB*nE%Xdlh ze_=T45XLa#@vUJGkAW|RnwGZ`A;*|cA2Fx8r>0IC4=R;r9SC5e4mzqfYg6E$#>@1MWwWYqV7?q+ zdUb8H_>>^Qt7YdK0i5Q;c3()ghZ6J|$d|8~T5hkZO;a_I9*eAql-gik0vaR4+u^~y zM;<@aBYo5|%PJzVR;i4^Z;)~g-xnXg?1ht|fDg+PwLs|AR-IFcaE zo!Fj$+81?g1Q0gJBYvOjqxPk&KQoXB2#9TeGrUX>;Uo9e0=9M&byZXbXImL*N1fiqg+&h zSZ6d#Kw;ur5sCBu zh)NIZ=&md5WZ7Q7o;XI==duPnF;-J7)4QH`9B zg%)D^ch={6Uw_`+ZH>=X-ZVKimvwqqZN5=OY<$ngUO#~r%@Gbl%41B?r9Wr4^s!lh zCD$KQ3Jnd)KK3l*M1*P{Kl|1#pJ2{>qk{gmZkeztSslQc z?h>86>CFi59fkNkGK0Gg2Yb25r(9_;#sk9yxM$j9uhLwUIBeGjJ_zyK@wYAy1bsYW zWH<f>{>BWdsGXEp#jG4nEWX+T2pbdc#K2mcytSH|1KF7Jj4C zkD*g(r2GXwPPI(!jb6?RT(`(lDA3S_G!HVd3yB9CvPZ9te5_`xycAmBT>BbT;8_lD zN(5IAK2W$E!dc`fKl@^=_q{Op$qSedTD}+8XGON91V_r*mv~9vBuxilfoC5 z>_Jvac6U+Wsw98Zs|(kBqe*aGD5KGZ7HsCoM6-9v3QtN(0=GlEW zV(nHx7gOUao^=~!Kdzcwn$#U<-%AWbkz54X!Mn7!O3;+a@w1qw@&=qbwXWgt$5N@* zkWhT@nhZp6YoLb1%+1JbwVSSjM2w);6+=gfReID{#HWf`_wTppqJeV#k3`Y?I?)Ht z96v!CD^WA#2=2WkyXH_9DV@VFE!E!X1Tq>TMrLQPvP+*!ecE(Ol02o=%zyczLr6)5 z){BN~v;ErH?WT|Vb6!|e-13T=y3cM7-Kd@#*`$lPAn1E=ZxUqpE=+fI|9V}vNv6@u zRqh_p$iRKVi@9k{GoAwpt(niWh2-tZN(@63Pc+T9xT{zM>6lZ^JR_!txg~U>1#*R( zTZ%D@u}@U4*Tm>FVmTDIA%I-#Z#8Kgtol6eD0%h8-Wd5A<_|7VX_Te9OG-&8K?fDi zX{Y*2ROY--58xSyM+*pYzTW=krs9ll<-@*ygZzEsx!V28V*Fg`o!hr^p!fm>pH9EJ zAm$hr3#iDc1_t&(SCY%XrckE%oKAP0^0e2K>C#A*l(e+6oLs=r@G#YxGc%4gwI4nh z@~m#&$KpQFigTN_F*aItJGCYgDx8@Bhz;brrpCsgI{l!Uni>EhCP1ed`p|by`PR+6 z-7}~AKUl-U_~%t_>g{&D0kMcRiyVP!job;DOxVeZzb6|RUSVR_yn1Q6S>XHIQ&v~D ztr1ce&?ij(0AO#XJe6%%Zl+)^-SO+OcTAup3E2nlL?b;!zZe;SMK;dGnJ}0_NsdUMV_(Rc`aJE!&8fQGJ)LgNc26H}b`0 z79riu#bGQVyClQGdH~;RZ{C~L8KLK%J~J~T71)`hBY>y{B$y2~4e1+*-Y50W$uN;M zJHr{Lb=_rk%`R(m#0?v&Jy=>@UvE}63)DEg;3u3Q87Ois_ahNtORfliI1JGBl@0r9 zy32kcp`mX8=q2iV`kHw$7CNN*U+B#{#Yu+n^SaUG#pI7n}`G7;yy-OV3y&^0; zGHGz=;6V&PEax7~UHVK$c5z(t)(w@>nwsW@y?sXkEn*V7=N(Wg3)+RdE1gy|uyJsR zeAUK)Ir-tknY~U5#iQ=qvP+e#0U4`FuX1y9b)9D!uzhwUr^9& zV?U|EdP->d~=KAj3DSgKr>D@}RE%xu#6`Zfan zWO4&NH9b8&ipNqjtanljXE{mWulQibkQ;Agn`uaT~{*Xg^L0HhmvfW&*X5CQaR2B{?el>}0G35i<(&-FWc1ID*|dAtGPwv)utH-SM&IXN+LhFZ+RA`9@Jh+1%# zT3qZc2FDyL?54?S(xw8$CTeaBX*t7Rhu|>SE$2ITyrc~znYGvS?Y1_-JhCFu09=%W%%a396{#|IAEZLOKref%il6qf$t#fz2A z&1=i+bMLlE`jccCq-_77MxOq&{QP_=!5yIc%mPcu)_K01kkbv&Tb)zQFyyxh&6r{= zL9MQ?j&CEjss`Y)Z!;oabt56pA;yZQ8MaYp`9Cl-R5SkH)RA|Yn&UME&fpcSLS+KPrvH<@Tv5wt()?oR^l(pcS!J57V06KMsajKg` z+L!l6|4VLeMMVWNv~FOO;PKQWbEoyrgLwhvg@)w;zUi2x6PM*qO8@TS;zEGsi-+}x zsB}6ubyQKpZsmxm*1#7O6vRfPCXE;1>g5-23Z?qf?&0XkjgN z)^v?;ME8jx@j|2KQ;4W=yZ*}Ty6fT7Y(2M6>rC{W7jg#0k=1tnX+-A-z#X2mT`&nz zX%G({KI6}m3jckas$k;!5x5WRL71bA|xq1oLBupGSR!hx(2Bb zW>+12jt;l$w+FExV!5)h5niXS2u2;Pq5mfzEo=*TBR&BEy$Ev;qpQkk+`?otuZO>l z(fvSv8_JuwsY>j)frv$S!C`x~>x)~9c9`Y1KVX~?QVBF;sr!UA8pfM|LXoQ{Ld*B? zR%2t?pH)TX_zZJ=PC(HnqHMtSB!Te3yh@#G01z+mFLA&N$O6PPutp?or`vEy|6=+_ zg?UZRw|im5=jBw2ao@LvU@Z%8o9LBQAEc1fzhj?=UkUMn=xM9ysM1RH&{GeHM7S;b z{#h6-kr(qm8b*(B$1CgWU{Jq^aA*Kg->Qaa55Awj9$}7g6%N)7d;sk&2mI_h06@)G zr&@#GAkHBCz;b*PNRpY8=6j(owHJS+j2$C8yW;!z?~~&~A|umVT4WjkQK&?53q~5) zcy%GiCYJ#OJPYnWgx;T;Tgq~<7#G85JF&Esizpl5SFZK02nY-7N{6#{zP(>7CCf-B z7?w5uETb#tg?zJGCG%+)u`p=S&NSW z*a91%VY3 zIlyB5>!3&=%*$KC(eAX4Q%C-47FdD3h&Gp_QxWcH1zb@ho@gvEW>Om{&s|UO^dv*j zS;53~U03?FqP8re?Z(a`aLJI51-?DWHGc}aq*-7r8$t>0F3q-ei`$K+}6BFo5~hYH*GhM}A7T=+-NM6`&SvvbtAhUC)Hbi7ASyU1>3&v)VP z6DO*6wg^!o9`1PtV5?u2lsM$IE1&XB{>1NY;?3L58+a5yCUlu=b9BGY!+hbf)+d9e zK;%lU@A?Zm5o#jVLYnjIkSN-9C-6{r<-Le=S~H=2ezj_)KoDp1iV&5`Q zyO}|x08M6GGL=Lcw%x=b#jkGE?TRa8T^7$Xzis{*<`pJ)|MY3bWtz}UZ*B-!vb9Qj!FT)6S`U{Ofqsot zY_9lp0H(W7eKUSka?|e*eC}YtOl+Ov08PZ)^;C6@mj??OA{|ps-MAf6i*!J?+bGo| zjQ0iL!RurK7rD%^8q9%ttrtc4Lh+yvL)hvG9B6YG=JBLG8zk66u|e&9b-9s*z_4Ix zcDQ)`>_Saa;pDydoL%XWB1JJ|K`^( zwP;|rHkWc?MzxJO7y8M_uup)i1z8Hv^p}E{QJe=TXkg^XiGZF-(0V5d6+u;F4wOFF zuzsL6#aBGs!U(9}>>-<{RLZ-2o&1@Ggg9Fo?bg zAu$kV(9{6s3=2^2kg*&n>;%S1vT~|i*Z_ZbYpX0U#aVWob(KIA^{UP(6StlU)t8`J zCYL^aQm(iBCIsK%tao2GvsGk$0*1}(7DSbZ^$s1yg}yv7V8Egr88i<-0N`T!(+MTu z4mwUNMAU1J7Fx|GEiqECt;b|kj^@_vIHxznyKVGe+=k0IPll%{MbMrnkk#fm4w6DeuG8STeG->^9+Ti#_2NT47fW#GMC?j4Z?^ z2h|9lz(71~fHlZ;uJG}deKg-*CtL;|WJKNLu`T$qpntwl)yT*V{1-Kkg+?A8(b_=a zN%qx0Hy|`r2Z|xG!f-{2;13@@^t?V`enBm@EmnZ#@4rQXc8e2M2j|d(v=#ab#No-y zzj)EmO9BBbe5F@mzB5U@sA13J&0Pzr+GjHQKO#~Gem`j~39b&CH@E<~Lq6Qc|LARG zj1E$=Rdtc8ZbIaOv@PyJ0F%gB@q6eSrCSHcn=3 zZLJ4%NK8$SP}BiYc^#<^xZwRjM?fj$8Bhqbd%yq80Zm95G<62-o(%X~ulff#RrSW! z)>d>e5GE*fUHIrj&1vlSgGi+CPfRq0)VWP)Q(Mg74A7_{^*1ox>q;anqFMI50bDdh z4Ws7q0Dc`}+SN{3o60bTpeX$=Ydx125LqLwDi(OermWI{(WtMn(hGJIvf11Vwj_OZ z&n*%V;UF;867Kj@tB$WaJ37ul%9+BP=T!uBLGX@M7i{H0G6}*Il;9$Qew@o9yWt|p zf?VO^>iOSN++koyB4%|}{E0F~nO6yrZ{lWR@Y=TiTN?{nkZ7t{=n&;nHWg* zbM6Gv=_J{bs@k4gr1sar)z#H*mfXtMz|`vfH-R_l^&;&tD;*WiAt>wD$T zL7ci+IvzkBdAM$}q=c5sRKdRm4NJ>`pv4TxH%IeiwCLy#SDa&%N72$HUu zaR2{I=ShH+61Ys#5K!CAmLiRgukR0Gfwct*w2G{nT6p!=919GQ15_E!9b)sa%ojz45aUBhC>7h2ex#nxIQD;!L<2 z3p=67z@JV?GlWq#7>YX5`cDYAZ{0!`4OVvciU!IVU|Hre%0`va^OTN2YO)4|C{qYa zROvFMBiNk3eeuSn$kIf7+^Z!$fTIvl9i>PG>HrWer+}6Z6EkzhO}sOtOOFq;b(GqS z_dwKy@jaGfP^1aMRv1KJf+WuNSq>J0AE>>g<{30(fEtd`=t2_e~An^&p-hS=(octB{R&28dK zsPsZ?Kl}OpljNOLvN?`8Tdv;)r%jn0dprO78k2P4GoQHFJKF#+&*^g%2il!$ZyD)d zf%ZE1KEI>;xmo}I+td1S+NNV0>C=gy@BYuH_qFp;{|1*kDM(;yv9SA}Z%l@{jEYLX zUNILVpC7F4?p8)hGJ--v{zng_@xWL311_rYHS51$0bP_l4tw1IIwST;Pkvnka2eaE zbocA^?#lmmhyTl4&z-FyQJ=$QM*Q~MZzuoyD*-kR0o309;b(m}dGx$+7L8Tu4G0m# zOG-+dp~M816Sl@@CFo@!(WoAB}y8A(YL#^DbkRK zl=?t~1C=yf-P~}mZy!d<6#v7C=ZWn5sZ1Sg-t1^FF-97dqPJ202Z~JvDE;l|P(U8u=lOG{hiy=}egi6>C?bJ4^Upv3 z^r}0oqUIF0?rLA5V^HsBv*mU^t+mOy4TyujZg<*uH^F?;Pz(40++bZ7jD@b#Bo$J? z0WGBtNH4HJ&BcI3=^gKbr82Irl|V9QhU5k5kUJ-l|3^X!3KF2ujt5;gD?27nX+dzx5ORe<&DG3~ zNwi2(UOocaTkbpGO>`bMG6dkaAq8PKsGr&0S=v3~PnpIH0+sRZTapnv_IF=QXMrDp zYD4kH(r9jPwie#h)syAAOPh7s|O4k!p`rp7rpEmOxEC`3RF z7$Ovv=7?*^AE{6DK{1<4|KlHZ4Gk0O}DC@uq@iUt#_DljSs-TTk>s_Yca1(1^f%{rvup_x{orR5`r&j!Xw;l$?S> z6}kiKFz+;I1MuP14>Ti z5TRn{daeM)Q`-vdmACgE!RBHGb!|kjg+2ywPdU&UfhK2irAXhwIZl&yXCx(4vB-}W z3mL1y&c7{2t94+eRv=gfem$s9h@?aH5d2YT%Se?A zx9yY+BxRs&yxTMEFq#eDL>?(ZfmR6HIBXuY-yz2BfXLMl2Ee549MXt`vN<=uV8Vcr zq2Uao!GC-Kz1P3)*f>-PY@W=i~DITOdjJl}<<6jwe z63Anq^@hGa!_K;hLNo}53VnUIpPJt;4Wtn6+g%qex-xs$1HvdIJEa3Gc(3|Hr8k|b zQ$4n3Q|CZS5E6T(@#RGOx1bZKaDv}qF$+qqOkmNGVkHXtCYvKd6mC`BFX%@TRR!$; zCEdYCkjNpSmvY!Q{zoYvM1oe3RLQV?v}Uoz6(G8=6Y%m-BJKgoFns4UHPE>#pNcXE zyd)Ye5Ovc=HN=30I3bq|^<3S#j>IP@Qi2lOXh$EJI--}aLynAr&Ia(*{gDLb73GvP zXd;wH9db<59S*siI7CmP}6*7HgW@r0C_yB2EI`hpr&Jn zX>@dSOoN0?1ULC zvKr_f>{(ax?AJR@63TwKoOILDjT)!$QK z1X3Z4pM|i$6Kyc4O488MDO^A%1*s!m1yy6H#lU7zi4KliXOIqO0%G%x8#nSbSo1X= z60j(Ir8qA<^zQj1AC~sbwePFbETFcDGz$Cyg#D!H7MBD>h!FDL@!nV30);&&BP&i6 zLH`em5A|JrjO`>ui$2NI-+>$sdTOY14~H({7U8c!peGbG zL6PZcHZ(C|fx3~gZD-A_Jv3NajX7D_5-tK*1~qI!GDaTeI})t43A!E=;V$T1HDE!E z>!edQWVX)GSBC7blse#4T8xjY{4V?fH)LASjO#J=OVg2Hd_5A)V;KdSC`n+NSU~p_ z3VlUrC5Y_)=tdU5aS6AJBD-33`WXQ;~~ z?W|$AE1DuHcm>U&2{VJOOn&sJ8kB{xkTfEvumuLzs7MpE#n~m59z1vp8|jGOIi?zL z3Q)#I(h}uRe8y$n<%FKv4BS)|mKqjXd1tA46%><&2&mEpCEzvCx%>pOC8(x>y3x=^ zM41v7mlYiA3@SKKa?pfFDS)JuHeUL-{re|DUQH61>aRc!Z|YmkTeod{2!}JFjSSzA zhs!;o5}a~0G(Er#Q&r@^@9Fy$O+u$#%ITpHVP5A$wFTak!tYekqeiQeLI0z_rOBZt z6tWel%JM*aClP~*ClhliDHECfoY3_Be9uwDukZpJDO*b2j5 zMsWdZKS8Ua2Z9dd3a?dueGDyZj6|iVQP@Tns2*vd8ZO*t4ff+KNR^>Iy;x3Q6Z-b~ z3FMnzACIWql5C$v)ltyWx*fa*wdFYw^J7^*mr%^oUa&YH^~<4giytbz;}pM&_LuEc zi=u^vMc&cFrWzpx+0vR{HMFYW(gQT1Iro zzXL&}ko2Mu1567_KT{i^K(qF>mXZae_>jN$-vcB(XaiHZaOV&yuQM&>;N(P2BCyOd z=Uu-(+7p5#J?}(fE2)V8?jOM5fRs@z+C1Ry!*7uuvxnm+$>4}Byg3WOh$=invfC12&D{(LYI7 z`5htZ0LJFO1$YcQ=KYo5j;kUh**%P#o<2}IQ*kJHEvB;}~IXJVY zcbRbVXZFUe4>du4P{E@*dGZZ3gVRCI<)`=s)Bd0LDjEcRJ5=HUr-#%Xq2I>4r!FAM zhoEKfQptoyFi12>gOp* AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N14_to_p_C13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 --> p + C13 @@ -129,13 +129,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.72421240281699 + -87.62065170634826 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.62065170634826 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -150,13 +150,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.17241240281699 + -93.40212170634825 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.40212170634825 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,12 +170,12 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from nacrr ln_set_rate = 38.39121240281698 + -101.17495170634825 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.17495170634825 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -190,7 +190,7 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O14_to_p_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O14 --> p + N13 @@ -226,12 +226,12 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from lg06r ln_set_rate = 35.3038971632548 + -59.81629660012578 * tfactors.T9i + 1.57122 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.81629660012578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.44239716325481 + -53.690276600125785 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.690276600125785 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O15_to_p_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 --> p + N14 @@ -304,13 +304,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.76303704754867 + -89.56670699689953 * tfactors.T9i + 1.5682 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.56670699689953 * tfactors.T9i * tfactors.T9i + 1.5682 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -324,12 +324,12 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from im05r ln_set_rate = 31.68169704754867 + -87.67370699689953 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.67370699689953 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -344,13 +344,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.144157047548674 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -365,13 +365,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.03725704754867 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +386,7 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> p + N15 @@ -423,13 +423,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 38.86679552635226 + -150.96226378057287 * tfactors.T9i + 0.0459037 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.96226378057287 * tfactors.T9i * tfactors.T9i + 0.0459037; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -443,12 +443,12 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from li10r ln_set_rate = 30.912955526352267 + -143.65591378057286 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 143.65591378057286 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -463,13 +463,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.33999552635227 + -140.73276378057287 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 140.73276378057287 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +484,7 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -521,13 +521,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -542,13 +542,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -563,7 +563,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F17_to_p_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 --> p + O16 @@ -599,13 +599,13 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.93184403787935 + -6.965832070525503 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.965832070525503 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -620,7 +620,7 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> p + O17 @@ -656,13 +656,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 33.72287495567065 + -71.29605321275191 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.29605321275191 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -676,12 +676,12 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 11.255394955670651 + -65.81406921275192 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.81406921275192 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -696,13 +696,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.22529495567065 + -65.06777321275192 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.06777321275192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -717,7 +717,7 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_He4_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> He4 + N14 @@ -753,12 +753,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 38.61662473666887 + -62.20224752987261 * tfactors.T9i + -5.6227 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.20224752987261 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -772,12 +772,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 24.91396273666887 + -56.396987529872604 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 56.396987529872604 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -792,13 +792,13 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.25102473666887 + -51.236647529872606 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.236647529872606 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -813,7 +813,7 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> p + O18 @@ -849,13 +849,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.868088644181995 + -92.7618744782197 * tfactors.T9i + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.7618744782197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,13 +870,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.219848644181997 + -99.4871744782197 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.4871744782197 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -890,12 +890,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 28.027568644181997 + -94.41868447821969 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.41868447821969 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -909,12 +909,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = -12.056811355818002 + -93.0066174782197 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.0066174782197 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -929,7 +929,7 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_He4_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> He4 + N15 @@ -966,13 +966,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.0595772096034 + -50.77806404408662 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.77806404408662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -986,12 +986,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 28.273522790396598 + -53.56282404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.56282404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1005,12 +1005,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 15.3204027903966 + -50.75615404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.75615404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1025,13 +1025,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.130922790396596 + -46.57820404408662 * tfactors.T9i + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.57820404408662 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1046,7 +1046,7 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> p + F17 @@ -1082,13 +1082,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 17.58370046698957 + -45.55769965436449 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.6337600000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.55769965436449 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.6337600000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1103,13 +1103,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 53.00858046698957 + -50.485039254364494 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.485039254364494 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1124,7 +1124,7 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> He4 + O14 @@ -1160,13 +1160,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.160347955038674 + -59.35823432141371 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.35823432141371 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1181,13 +1181,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.01796795503867 + -71.51723432141371 * tfactors.T9i + 6.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.51723432141371 * tfactors.T9i * tfactors.T9i + 6.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1201,12 +1201,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 28.243807955038672 + -81.96823432141372 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.96823432141372 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1220,12 +1220,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 22.56327795503867 + -71.08823432141371 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.08823432141371 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1240,7 +1240,7 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> p + F18 @@ -1276,13 +1276,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.192220240787112 + -77.27667559674641 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.27667559674641 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1297,13 +1297,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.39950975921289 + -74.78415559674642 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.78415559674642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1318,13 +1318,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 81.45789024078711 + -74.38520559674642 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.38520559674642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1339,7 +1339,7 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> He4 + O15 @@ -1375,13 +1375,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -7.510242070092687 + -45.15053612970033 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.15053612970033 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1395,12 +1395,12 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from dc11r ln_set_rate = 24.694111429907313 + -46.83053612970032 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.83053612970032 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1415,13 +1415,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.03075792990731 + -40.946146129700324 * tfactors.T9i + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.946146129700324 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1436,7 +1436,7 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> p + F19 @@ -1472,13 +1472,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.711255537457795 + -156.78628300750532 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 156.78628300750532 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1493,13 +1493,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 36.72378553745779 + -150.75597300750533 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.75597300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1514,13 +1514,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.62288553745779 + -149.04214300750533 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 149.04214300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1535,7 +1535,7 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -1570,12 +1570,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1590,13 +1590,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1611,13 +1611,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1632,7 +1632,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne21 --> He4 + O17 @@ -1668,13 +1668,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 0.09298411543850094 + -90.7784662204353 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 83.7218 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 90.7784662204353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 83.7218 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1689,13 +1689,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -91.95121588456149 + -98.9451062204353 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -41.2753 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.9451062204353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -41.2753 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1710,13 +1710,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 27.322784115438502 + -91.26872622043531 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 6.25778 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 91.26872622043531 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 6.25778 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1731,7 +1731,7 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 --> p + Ne21 @@ -1767,13 +1767,13 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.165346980750385 + -78.19798607071328 * tfactors.T9i + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.19798607071328 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1788,13 +1788,13 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.390453019249613 + -82.41183607071328 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 82.41183607071328 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1808,12 +1808,12 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 24.852786980750384 + -79.59755607071328 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 79.59755607071328 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1827,12 +1827,12 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -24.559653019249616 + -78.39416607071328 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.39416607071328 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1847,7 +1847,7 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 --> He4 + F18 @@ -1883,13 +1883,13 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 59.32473614051823 + -100.22898907841348 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.22898907841348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1904,7 +1904,7 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 --> He4 + F19 @@ -1940,13 +1940,13 @@ void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 76.90044981594414 + -123.58233417534949 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 55.9823 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 123.58233417534949 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 55.9823 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1961,7 +1961,7 @@ void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg22 --> He4 + Ne18 @@ -1997,13 +1997,13 @@ void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 57.680013188545345 + -94.4898569232192 * tfactors.T9i + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.4898569232192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2018,7 +2018,7 @@ void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -2054,13 +2054,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2074,12 +2074,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2094,13 +2094,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2115,7 +2115,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -2151,13 +2151,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2171,12 +2171,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2190,12 +2190,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2210,13 +2210,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2231,7 +2231,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -2267,13 +2267,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2288,13 +2288,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2309,13 +2309,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2330,7 +2330,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -2365,12 +2365,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2385,13 +2385,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2406,7 +2406,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -2442,13 +2442,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2462,12 +2462,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2482,13 +2482,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2503,7 +2503,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -2539,13 +2539,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2560,7 +2560,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -2592,13 +2592,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2613,13 +2613,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2634,13 +2634,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2655,7 +2655,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 + He4 --> p + N15 @@ -2699,13 +2699,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.135846229234243 + -57.62215691264642 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 57.62215691264642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2720,13 +2720,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.915773770765759 + -58.78595691264642 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.78595691264642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2741,13 +2741,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.556646229234243 + -65.02815691264642 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.02815691264642 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2762,13 +2762,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -5.21402377076576 + -59.643326912646415 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.643326912646415 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2783,7 +2783,7 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 + He4 --> p + O17 @@ -2826,13 +2826,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.592359780998223 + -14.584520682879308 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.584520682879308 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2847,13 +2847,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.194270219001776 + -13.831125682879309 * tfactors.T9i + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.831125682879309 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2868,13 +2868,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 9.789270219001777 + -18.78977568287931 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.78977568287931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2889,13 +2889,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.148870219001777 + -15.945895682879309 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.945895682879309 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2910,7 +2910,7 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N15 + He4 --> p + O18 @@ -2953,13 +2953,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -29.6926341462146 + -46.42955443414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.42955443414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2974,13 +2974,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.178865853785396 + -46.183670434142684 * tfactors.T9i + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.183670434142684 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2995,13 +2995,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.155285853785398 + -51.50702043414268 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.50702043414268 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3016,13 +3016,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.4842658537854 + -47.84667043414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 47.84667043414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3037,7 +3037,7 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 + He4 --> p + F18 @@ -3079,13 +3079,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.0671723108797964 + -36.45580946704611 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.45580946704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3100,13 +3100,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -32.4286676891202 + -33.81549146704611 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.81549146704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3121,13 +3121,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.315932310879795 + -33.43905946704611 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.43905946704611 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3142,7 +3142,7 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -3185,13 +3185,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3206,7 +3206,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + He4 --> p + F19 @@ -3248,13 +3248,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -53.121227264044336 + -94.28220973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.28220973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3269,13 +3269,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.874672735955667 + -94.15455973651265 * tfactors.T9i + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.15455973651265 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3290,13 +3290,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.941672735955667 + -97.44055973651265 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.44055973651265 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3311,13 +3311,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.778572735955667 + -97.90640973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.90640973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3332,13 +3332,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.822072735955667 + -96.62283973651265 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 96.62283973651265 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3353,7 +3353,7 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + p --> He4 + O14 @@ -3395,13 +3395,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.415567488049104 + -25.85518506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.85518506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3416,13 +3416,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.938467488049106 + -39.83288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 39.83288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3437,13 +3437,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.122467488049104 + -13.83288506704921 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.83288506704921 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3458,13 +3458,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.595367488049106 + -36.34288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.34288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3479,13 +3479,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.405067488049104 + -27.43288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.43288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3500,13 +3500,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.80433251195089 + -14.285921067049209 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.285921067049209 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3521,7 +3521,7 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + He4 --> p + Ne20 @@ -3563,13 +3563,13 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.645331236377224 + -0.004848799532844339 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 0.004848799532844339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3584,7 +3584,7 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -3626,13 +3626,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3647,13 +3647,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3668,13 +3668,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3689,7 +3689,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne21 + p --> He4 + F18 @@ -3731,13 +3731,13 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 50.63668915976785 + -22.04702300768339 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.04702300768339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3752,7 +3752,7 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 + p --> He4 + Ne19 @@ -3794,13 +3794,13 @@ void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.08404589973112 + -24.01421348166705 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.01421348166705 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3815,7 +3815,7 @@ void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -3857,13 +3857,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3878,13 +3878,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3899,13 +3899,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3920,7 +3920,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -3962,13 +3962,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3983,13 +3983,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4004,13 +4004,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4025,7 +4025,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -4067,13 +4067,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4088,13 +4088,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4109,13 +4109,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4130,13 +4130,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4151,7 +4151,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -4187,13 +4187,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4208,7 +4208,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -4243,12 +4243,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4263,13 +4263,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4284,13 +4284,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4304,12 +4304,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4324,7 +4324,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -4366,13 +4366,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4387,7 +4387,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -4423,13 +4423,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4444,7 +4444,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -4480,13 +4480,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4501,13 +4501,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4522,13 +4522,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4543,7 +4543,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -4585,13 +4585,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4606,7 +4606,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -4642,13 +4642,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4663,7 +4663,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -4699,13 +4699,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4720,7 +4720,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -4756,13 +4756,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4777,7 +4777,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -4813,13 +4813,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4834,13 +4834,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4855,13 +4855,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4876,13 +4876,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4897,7 +4897,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -4939,13 +4939,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4960,7 +4960,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -4996,13 +4996,13 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5017,7 +5017,7 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -5053,13 +5053,13 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5074,7 +5074,7 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -5116,13 +5116,13 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5137,7 +5137,7 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -5173,13 +5173,13 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5194,7 +5194,7 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -5230,13 +5230,13 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5251,7 +5251,7 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -5293,13 +5293,13 @@ void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5329,366 +5329,720 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_N14_to_p_C13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; - - } - rate_O14_to_p_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; - - } - rate_O15_to_p_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; - - } - rate_O16_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_F17_to_p_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; - - } - rate_F18_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; - - } - rate_F18_to_He4_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; - - } - rate_F19_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; - - } - rate_F19_to_He4_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; - - } - rate_Ne18_to_p_F17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; - - } - rate_Ne18_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; - - } - rate_Ne19_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; - - } - rate_Ne19_to_He4_O15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; - - } - rate_Ne20_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Ne21_to_He4_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne21_to_He4_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_derived) = drate_dT; - - } - rate_Na22_to_p_Ne21_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na22_to_p_Ne21_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_derived) = drate_dT; - - } - rate_Na22_to_He4_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na22_to_He4_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_derived) = drate_dT; - - } - rate_Na23_to_He4_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na23_to_He4_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_derived) = drate_dT; - - } - rate_Mg22_to_He4_Ne18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg22_to_He4_Ne18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_He4_C12_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; - - } - rate_He4_N14_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; - - } - rate_He4_N15_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; - - } - rate_He4_O15_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_O16_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; - - } - rate_p_F17_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_p_Ne21_to_He4_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = drate_dT; - - } - rate_p_Na22_to_He4_Ne19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; - - } - rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; - - } - rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N14_to_p_C13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_p_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_p_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_p_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_He4_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_He4_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_p_F17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_He4_O15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne21_to_He4_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne21_to_He4_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_p_Ne21_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na22_to_p_Ne21_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_He4_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na22_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_He4_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na23_to_He4_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg22_to_He4_Ne18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg22_to_He4_Ne18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_He4_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na22); + } +#endif + rate_p_Na22_to_He4_Ne19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/cno-he-burn-33a/pynucastro-info.txt b/networks/he-burn/cno-he-burn-33a/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/cno-he-burn-33a/pynucastro-info.txt +++ b/networks/he-burn/cno-he-burn-33a/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/cno-he-burn-33a/reaclib_rates.H b/networks/he-burn/cno-he-burn-33a/reaclib_rates.H index 91a55a196..e9370cb30 100644 --- a/networks/he-burn/cno-he-burn-33a/reaclib_rates.H +++ b/networks/he-burn/cno-he-burn-33a/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -39,8 +46,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -55,7 +66,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -70,8 +81,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -86,7 +101,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -101,8 +116,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -117,7 +136,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -132,9 +151,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,9 +172,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -166,7 +193,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -181,9 +208,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -198,9 +229,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -215,7 +250,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -230,9 +265,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -247,9 +286,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -264,9 +307,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -281,7 +328,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -296,9 +343,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -313,9 +364,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -330,7 +385,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -345,9 +400,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -362,9 +421,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -379,9 +442,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -396,9 +463,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -413,7 +484,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -428,9 +499,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -445,9 +520,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -462,9 +541,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -479,7 +562,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -494,9 +577,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -511,9 +598,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -528,9 +619,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -545,7 +640,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> F19 @@ -560,9 +655,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -577,9 +676,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -594,9 +697,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -611,9 +718,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -628,7 +739,7 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> Ne18 @@ -643,9 +754,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -660,9 +775,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + 5.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + 5.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -677,9 +796,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -694,9 +817,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,7 +838,7 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> Ne19 @@ -726,9 +853,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -743,9 +874,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -760,9 +895,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -777,7 +916,7 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -792,9 +931,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +952,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -824,9 +967,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -841,9 +988,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -858,9 +1009,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -875,7 +1030,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -890,9 +1045,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -907,9 +1066,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -924,9 +1087,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -941,7 +1108,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + He4 --> Ne21 @@ -956,9 +1123,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -25.0898 + -5.50926 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 82.2218 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.50926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 82.2218 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -973,9 +1144,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -117.134 + -13.6759 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -42.7753 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -42.7753 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -990,9 +1165,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 2.14 + -5.99952 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 4.75778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.99952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 4.75778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1007,7 +1186,7 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> F19 @@ -1022,9 +1201,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1039,9 +1222,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1056,9 +1243,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1073,9 +1264,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1090,7 +1285,7 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> Ne18 @@ -1105,9 +1300,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1122,9 +1321,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1139,7 +1342,7 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> Ne19 @@ -1154,9 +1357,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1171,9 +1378,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1188,9 +1399,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1205,7 +1420,7 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> Na22 @@ -1220,9 +1435,13 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 35.3786 + -1.82957 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 37.8396 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.82957 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 37.8396 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1237,7 +1456,7 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> Ne20 @@ -1252,9 +1471,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1269,9 +1492,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1286,9 +1513,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1303,7 +1534,7 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> Na23 @@ -1318,9 +1549,13 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 52.7856 + -2.11408 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 54.4823 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11408 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 54.4823 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1335,7 +1570,7 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + He4 --> Mg22 @@ -1350,9 +1585,13 @@ void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 32.8865 + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1367,7 +1606,7 @@ void rate_He4_Ne18_to_Mg22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -1382,9 +1621,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1399,9 +1642,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1416,9 +1663,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1433,9 +1684,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1450,7 +1705,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + p --> Na22 @@ -1465,9 +1720,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.0696 + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1482,9 +1741,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -39.4862 + -4.21385 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.21385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1499,9 +1762,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 1.75704 + -1.39957 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39957 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1516,9 +1783,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -47.6554 + -0.19618 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.19618 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1533,7 +1804,7 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -1548,9 +1819,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1565,9 +1840,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1582,9 +1861,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1599,7 +1882,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -1614,9 +1897,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1631,9 +1918,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1648,7 +1939,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -1663,9 +1954,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1680,9 +1975,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1697,9 +1996,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1714,7 +2017,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -1729,9 +2032,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1746,7 +2053,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -1761,9 +2068,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1778,9 +2089,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1795,9 +2110,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1812,7 +2131,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -1827,9 +2146,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1844,7 +2167,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -1859,9 +2182,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1876,7 +2203,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -1891,9 +2218,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1908,7 +2239,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -1923,9 +2254,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1940,9 +2275,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1957,9 +2296,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1974,9 +2317,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1991,7 +2338,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -2006,9 +2353,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2023,9 +2374,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2040,9 +2395,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2057,9 +2416,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2074,9 +2437,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2091,9 +2458,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2108,7 +2479,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -2123,9 +2494,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2140,7 +2515,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -2155,9 +2530,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2172,7 +2551,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -2187,9 +2566,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2204,7 +2587,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -2219,9 +2602,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2236,7 +2623,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -2251,9 +2638,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2268,9 +2659,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2285,9 +2680,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2302,9 +2701,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2319,7 +2722,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> He4 + N15 @@ -2334,9 +2737,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2351,9 +2758,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2368,9 +2779,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2385,9 +2800,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2402,7 +2821,7 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -2417,9 +2836,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2434,9 +2857,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2451,9 +2878,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2468,7 +2899,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> p + Ne21 @@ -2483,9 +2914,13 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2500,7 +2935,7 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> He4 + O16 @@ -2515,9 +2950,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2532,9 +2971,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2549,9 +2992,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2566,9 +3013,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2583,9 +3034,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2600,7 +3055,7 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + He4 --> p + Na22 @@ -2615,9 +3070,13 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.1874 + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2632,7 +3091,7 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> He4 + F17 @@ -2647,9 +3106,13 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2664,7 +3127,7 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -2679,9 +3142,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2696,9 +3163,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2713,9 +3184,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2730,7 +3205,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -2745,9 +3220,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2762,9 +3241,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2779,9 +3262,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2796,7 +3283,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -2811,9 +3298,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2828,9 +3319,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2845,9 +3340,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2862,7 +3361,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -2877,9 +3376,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2894,9 +3397,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2911,9 +3418,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2928,7 +3439,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -2943,9 +3454,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2960,7 +3475,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -2975,9 +3490,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2992,7 +3511,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -3007,9 +3526,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3024,7 +3547,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -3039,9 +3562,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3056,7 +3583,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -3071,9 +3598,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3088,9 +3619,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3105,9 +3640,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3122,9 +3661,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3139,7 +3682,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -3154,9 +3697,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3171,9 +3718,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3188,9 +3739,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3205,9 +3760,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3222,7 +3781,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -3237,9 +3796,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3254,7 +3817,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -3269,9 +3832,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3286,9 +3853,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3303,9 +3874,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3320,7 +3895,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -3335,9 +3910,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3352,7 +3931,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -3367,9 +3946,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3384,7 +3967,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -3399,9 +3982,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3416,7 +4003,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -3431,9 +4018,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3448,7 +4039,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -3463,9 +4054,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3480,7 +4075,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -3495,9 +4090,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3512,7 +4111,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -3527,9 +4126,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3544,9 +4147,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3561,9 +4168,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3578,9 +4189,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3595,7 +4210,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -3610,9 +4225,13 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3627,7 +4246,7 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -3642,9 +4261,13 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3659,7 +4282,7 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -3674,9 +4297,13 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3691,7 +4318,7 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -3706,9 +4333,13 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3723,7 +4354,7 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -3738,9 +4369,13 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3755,7 +4390,7 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -3770,9 +4405,13 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3787,29 +4426,29 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -4051,456 +4690,1188 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_He4_N15_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; - - } - rate_He4_O14_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_O15_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_He4_O17_to_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; - - } - rate_p_O18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; - - } - rate_p_F17_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; - - } - rate_p_F18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; - - } - rate_He4_F18_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; - - } - rate_p_F19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_F19_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; - - } - rate_He4_Ne18_to_Mg22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Ne21_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_O18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He4_F18_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; - - } - rate_p_F19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; - - } - rate_He4_Ne19_to_p_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; - - } - rate_p_Ne20_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; - - } - rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O17); + } +#endif + rate_He4_O17_to_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne18); + } +#endif + rate_He4_Ne18_to_Mg22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne18_to_Mg22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne19); + } +#endif + rate_He4_Ne19_to_p_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -4520,75 +5891,75 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; - } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; - } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; - } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/cno-he-burn-34am/actual_network.H b/networks/he-burn/cno-he-burn-34am/actual_network.H index 55260d818..aa7093499 100644 --- a/networks/he-burn/cno-he-burn-34am/actual_network.H +++ b/networks/he-burn/cno-he-burn-34am/actual_network.H @@ -475,6 +475,70 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_p_C13 = 3, + k_p_N13 = 4, + k_p_N14 = 5, + k_He4_N14 = 6, + k_p_N15 = 7, + k_He4_N15 = 8, + k_He4_O14 = 9, + k_He4_O15 = 10, + k_p_O16 = 11, + k_He4_O16 = 12, + k_p_O17 = 13, + k_He4_O17 = 14, + k_p_O18 = 15, + k_He4_O18 = 16, + k_p_F17 = 17, + k_He4_F17 = 18, + k_p_F18 = 19, + k_He4_F18 = 20, + k_p_F19 = 21, + k_He4_F19 = 22, + k_p_Ne20 = 23, + k_He4_Ne20 = 24, + k_p_Ne21 = 25, + k_p_Ne22 = 26, + k_p_Na23 = 27, + k_He4_Na23 = 28, + k_He4_Mg24 = 29, + k_p_Al27 = 30, + k_He4_Al27 = 31, + k_He4_Si28 = 32, + k_p_P31 = 33, + k_C12_C12 = 34, + k_He4_N13 = 35, + k_C12_O16 = 36, + k_O16_O16 = 37, + k_He4_Ne18 = 38, + k_He4_Ne19 = 39, + k_p_Mg24 = 40, + k_He4_He4 = 41, + k_He4_Be8 = 42, + k_p_Na21 = 43, + k_He4_Na21 = 44, + k_p_Na22 = 45, + k_He4_Na22 = 46, + k_He4_S32 = 47, + k_p_Cl35 = 48, + k_He4_Ar36 = 49, + k_p_K39 = 50, + k_He4_Ca40 = 51, + k_p_Sc43 = 52, + k_He4_Ti44 = 53, + k_p_V47 = 54, + k_He4_Cr48 = 55, + k_p_Mn51 = 56, + k_He4_Fe52 = 57, + k_p_Co55 = 58, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/cno-he-burn-34am/actual_rhs.H b/networks/he-burn/cno-he-burn-34am/actual_rhs.H index 955117362..5127f29c2 100644 --- a/networks/he-burn/cno-he-burn-34am/actual_rhs.H +++ b/networks/he-burn/cno-he-burn-34am/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,1143 +64,624 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_p_N15_derived); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived); - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.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_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.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_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_p_O17_derived); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived); - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N15_to_F19_reaclib); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_N15_to_p_O18_derived); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived); - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N15) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O15_to_p_F18_derived); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived); - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_p_F19_derived); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived); - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.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_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.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_O18_to_F19_reaclib); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib); - rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F17_to_He4_O14_derived); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived); - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib); - rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.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_F19_to_Ne20_reaclib); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F19) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib); - rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.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_Ne21_to_Na22_reaclib); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne21) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 22.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_Ne22_to_Na23_reaclib); - rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne22_to_He4_F19_derived); - rate_eval.screened_rates(k_p_Ne22_to_He4_F19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_derived); - rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne22) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 23.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib); - rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 27.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib); - rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 24.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_Mg24_to_He4_Na21_reaclib); - rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mg24_to_Na22_He4_modified); - rate_eval.screened_rates(k_p_Mg24_to_Na22_He4_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg24_to_Na22_He4_modified); - rate_eval.dscreened_rates_dT(k_p_Mg24_to_Na22_He4_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 21.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_Na21_to_He4_Ne18_derived); - rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_derived); - rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na21) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 21.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_derived); - rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_derived); - rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na21) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 22.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na22) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived); - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 22.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na22_to_Si28_modified); - rate_eval.screened_rates(k_He4_Na22_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na22_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_He4_Na22_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na22) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.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_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.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_Mn51_to_Fe52_removed); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/he-burn/cno-he-burn-34am/cno-he-burn-34am.png b/networks/he-burn/cno-he-burn-34am/cno-he-burn-34am.png index 69b8db9878cd12a8cbfdd063e3c810f406e34fe8..e93edf5ede81856e9340e028f92860f807221b2d 100644 GIT binary patch literal 119010 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 Vjtnc(oo>@-f$Kv2Rcj-U{{rFLGI;<1 literal 117014 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

ddW5# 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� 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 AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N14_to_p_C13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 --> p + C13 @@ -129,13 +129,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.72421240281699 + -87.62065170634826 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.62065170634826 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -150,13 +150,13 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.17241240281699 + -93.40212170634825 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.40212170634825 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,12 +170,12 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from nacrr ln_set_rate = 38.39121240281698 + -101.17495170634825 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.17495170634825 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -190,7 +190,7 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O14_to_p_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O14 --> p + N13 @@ -226,12 +226,12 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from lg06r ln_set_rate = 35.3038971632548 + -59.81629660012578 * tfactors.T9i + 1.57122 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.81629660012578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.44239716325481 + -53.690276600125785 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.690276600125785 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O15_to_p_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 --> p + N14 @@ -304,13 +304,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.76303704754867 + -89.56670699689953 * tfactors.T9i + 1.5682 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.56670699689953 * tfactors.T9i * tfactors.T9i + 1.5682 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -324,12 +324,12 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from im05r ln_set_rate = 31.68169704754867 + -87.67370699689953 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.67370699689953 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -344,13 +344,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.144157047548674 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -365,13 +365,13 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.03725704754867 + -84.67570699689952 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.67570699689952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +386,7 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> p + N15 @@ -423,13 +423,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 38.86679552635226 + -150.96226378057287 * tfactors.T9i + 0.0459037 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.96226378057287 * tfactors.T9i * tfactors.T9i + 0.0459037; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -443,12 +443,12 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from li10r ln_set_rate = 30.912955526352267 + -143.65591378057286 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 143.65591378057286 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -463,13 +463,13 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.33999552635227 + -140.73276378057287 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 140.73276378057287 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +484,7 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -521,13 +521,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -542,13 +542,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -563,7 +563,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F17_to_p_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 --> p + O16 @@ -599,13 +599,13 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.93184403787935 + -6.965832070525503 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.965832070525503 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -620,7 +620,7 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> p + O17 @@ -656,13 +656,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 33.72287495567065 + -71.29605321275191 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.29605321275191 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -676,12 +676,12 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 11.255394955670651 + -65.81406921275192 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.81406921275192 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -696,13 +696,13 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.22529495567065 + -65.06777321275192 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.06777321275192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -717,7 +717,7 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F18_to_He4_N14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F18 --> He4 + N14 @@ -753,12 +753,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 38.61662473666887 + -62.20224752987261 * tfactors.T9i + -5.6227 * tfactors.T913i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.20224752987261 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -772,12 +772,12 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 24.91396273666887 + -56.396987529872604 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 56.396987529872604 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -792,13 +792,13 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.25102473666887 + -51.236647529872606 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.236647529872606 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -813,7 +813,7 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> p + O18 @@ -849,13 +849,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.868088644181995 + -92.7618744782197 * tfactors.T9i + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.7618744782197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,13 +870,13 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.219848644181997 + -99.4871744782197 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.4871744782197 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -890,12 +890,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 28.027568644181997 + -94.41868447821969 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.41868447821969 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -909,12 +909,12 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = -12.056811355818002 + -93.0066174782197 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.0066174782197 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -929,7 +929,7 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_F19_to_He4_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F19 --> He4 + N15 @@ -966,13 +966,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.0595772096034 + -50.77806404408662 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.77806404408662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -986,12 +986,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 28.273522790396598 + -53.56282404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 53.56282404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1005,12 +1005,12 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 15.3204027903966 + -50.75615404408662 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.75615404408662 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1025,13 +1025,13 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.130922790396596 + -46.57820404408662 * tfactors.T9i + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.57820404408662 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1046,7 +1046,7 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> p + F17 @@ -1082,13 +1082,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 17.58370046698957 + -45.55769965436449 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.6337600000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.55769965436449 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.6337600000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1103,13 +1103,13 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 53.00858046698957 + -50.485039254364494 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 50.485039254364494 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1124,7 +1124,7 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne18 --> He4 + O14 @@ -1160,13 +1160,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.160347955038674 + -59.35823432141371 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.35823432141371 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1181,13 +1181,13 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.01796795503867 + -71.51723432141371 * tfactors.T9i + 6.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.51723432141371 * tfactors.T9i * tfactors.T9i + 6.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1201,12 +1201,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 28.243807955038672 + -81.96823432141372 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.96823432141372 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1220,12 +1220,12 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from wh87r ln_set_rate = 22.56327795503867 + -71.08823432141371 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 71.08823432141371 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1240,7 +1240,7 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> p + F18 @@ -1276,13 +1276,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.192220240787112 + -77.27667559674641 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.27667559674641 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1297,13 +1297,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.39950975921289 + -74.78415559674642 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.78415559674642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1318,13 +1318,13 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 81.45789024078711 + -74.38520559674642 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.38520559674642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1339,7 +1339,7 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne19 --> He4 + O15 @@ -1375,13 +1375,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -7.510242070092687 + -45.15053612970033 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 45.15053612970033 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1395,12 +1395,12 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from dc11r ln_set_rate = 24.694111429907313 + -46.83053612970032 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.83053612970032 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1415,13 +1415,13 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.03075792990731 + -40.946146129700324 * tfactors.T9i + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.946146129700324 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1436,7 +1436,7 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> p + F19 @@ -1472,13 +1472,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.711255537457795 + -156.78628300750532 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 156.78628300750532 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1493,13 +1493,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 36.72378553745779 + -150.75597300750533 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 150.75597300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1514,13 +1514,13 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.62288553745779 + -149.04214300750533 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 149.04214300750533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1535,7 +1535,7 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -1570,12 +1570,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1590,13 +1590,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1611,13 +1611,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1632,7 +1632,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne21 --> He4 + O17 @@ -1668,13 +1668,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 0.09298411543850094 + -90.7784662204353 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 83.7218 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 90.7784662204353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 83.7218 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1689,13 +1689,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -91.95121588456149 + -98.9451062204353 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -41.2753 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.9451062204353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -41.2753 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1710,13 +1710,13 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 27.322784115438502 + -91.26872622043531 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 6.25778 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 91.26872622043531 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 6.25778 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1731,7 +1731,7 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne22 --> He4 + O18 @@ -1766,12 +1766,12 @@ void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from il10r ln_set_rate = -7.119065921580848 + -114.18179645973349 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 114.18179645973349 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1785,12 +1785,12 @@ void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from il10r ln_set_rate = -56.510065921580846 + -112.85484845973349 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 112.85484845973349 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1804,12 +1804,12 @@ void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from il10r ln_set_rate = 39.76833407841915 + -143.2255364597335 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 143.2255364597335 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1824,13 +1824,13 @@ void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 106.99883407841915 + -113.76407645973349 * tfactors.T9i + -44.3823 * tfactors.T913i + -46.6617 * tfactors.T913 + 7.88059 * tfactors.T9 + -0.590829 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 113.76407645973349 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -44.3823 * tfactors.T943i + (1.0/3.0) * -46.6617 * tfactors.T923i + 7.88059 + (5.0/3.0) * -0.590829 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1845,7 +1845,7 @@ void rate_Ne22_to_He4_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na21 --> p + Ne20 @@ -1881,13 +1881,13 @@ void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 195319.2650977437 + -89.3610144370849 * tfactors.T9i + 21894.7 * tfactors.T913i + -319153.0 * tfactors.T913 + 224369.0 * tfactors.T9 + -188049.0 * tfactors.T953 + 48704.9 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.3610144370849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21894.7 * tfactors.T943i + (1.0/3.0) * -319153.0 * tfactors.T923i + 224369.0 + (5.0/3.0) * -188049.0 * tfactors.T923 + 48704.9 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1902,13 +1902,13 @@ void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 230.14209774368004 + -28.373725437084907 * tfactors.T9i + 15.325 * tfactors.T913i + -294.859 * tfactors.T913 + 107.692 * tfactors.T9 + -46.2072 * tfactors.T953 + 59.3398 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 28.373725437084907 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.325 * tfactors.T943i + (1.0/3.0) * -294.859 * tfactors.T923i + 107.692 + (5.0/3.0) * -46.2072 * tfactors.T923 + 59.3398 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1923,13 +1923,13 @@ void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.096127743680043 + -37.059014437084905 * tfactors.T9i + 20.5893 * tfactors.T913i + -17.5841 * tfactors.T913 + 0.243226 * tfactors.T9 + -0.000231418 * tfactors.T953 + 14.3398 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 37.059014437084905 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 20.5893 * tfactors.T943i + (1.0/3.0) * -17.5841 * tfactors.T923i + 0.243226 + (5.0/3.0) * -0.000231418 * tfactors.T923 + 14.3398 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1944,13 +1944,13 @@ void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 252.28409774368004 + -32.674594437084906 * tfactors.T9i + 258.57 * tfactors.T913i + -506.387 * tfactors.T913 + 22.1576 * tfactors.T9 + -0.721182 * tfactors.T953 + 231.788 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 32.674594437084906 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 258.57 * tfactors.T943i + (1.0/3.0) * -506.387 * tfactors.T923i + 22.1576 + (5.0/3.0) * -0.721182 * tfactors.T923 + 231.788 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1965,7 +1965,7 @@ void rate_Na21_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na21_to_He4_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na21_to_He4_F17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na21 --> He4 + F17 @@ -2001,13 +2001,13 @@ void rate_Na21_to_He4_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 66.33566650730282 + -77.87093563755207 * tfactors.T9i + 15.559 * tfactors.T913i + -68.3231 * tfactors.T913 + 2.54275 * tfactors.T9 + -0.0989207 * tfactors.T953 + 38.3877 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.87093563755207 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.559 * tfactors.T943i + (1.0/3.0) * -68.3231 * tfactors.T923i + 2.54275 + (5.0/3.0) * -0.0989207 * tfactors.T923 + 38.3877 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2022,7 +2022,7 @@ void rate_Na21_to_He4_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 --> p + Ne21 @@ -2058,13 +2058,13 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.165346980750385 + -78.19798607071328 * tfactors.T9i + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.19798607071328 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2079,13 +2079,13 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.390453019249613 + -82.41183607071328 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 82.41183607071328 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2099,12 +2099,12 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 24.852786980750384 + -79.59755607071328 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 79.59755607071328 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2118,12 +2118,12 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -24.559653019249616 + -78.39416607071328 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 78.39416607071328 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2138,7 +2138,7 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 --> He4 + F18 @@ -2174,13 +2174,13 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 59.32473614051823 + -100.22898907841348 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.22898907841348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2195,7 +2195,7 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 --> p + Ne22 @@ -2231,13 +2231,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.673073381706992 + -103.77146219384292 * tfactors.T9i + 1.189235 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 103.77146219384292 * tfactors.T9i * tfactors.T9i + 1.189235 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2252,13 +2252,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.8379043817069913 + -102.46235419384291 * tfactors.T9i + 0.009810000000000096 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.46235419384291 * tfactors.T9i * tfactors.T9i + 0.009810000000000096 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2273,13 +2273,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.18205438170699 + -102.85114819384292 * tfactors.T9i + 4.735580000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.85114819384292 * tfactors.T9i * tfactors.T9i + 4.735580000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2294,13 +2294,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.30970438170699 + -110.77516219384292 * tfactors.T9i + 0.732533 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.77516219384292 * tfactors.T9i * tfactors.T9i + 0.732533 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2315,13 +2315,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.91320438170699 + -106.65075219384292 * tfactors.T9i + 1.656226 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.65075219384292 * tfactors.T9i * tfactors.T9i + 1.656226 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2336,13 +2336,13 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.266434381706993 + -104.66929219384292 * tfactors.T9i + -2.79964 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 104.66929219384292 * tfactors.T9i * tfactors.T9i + -2.79964 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2357,7 +2357,7 @@ void rate_Na23_to_p_Ne22_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na23 --> He4 + F19 @@ -2393,13 +2393,13 @@ void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 76.90044981594414 + -123.58233417534949 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 55.9823 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 123.58233417534949 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 55.9823 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2414,7 +2414,7 @@ void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -2450,13 +2450,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2470,12 +2470,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2490,13 +2490,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2511,7 +2511,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -2547,13 +2547,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2567,12 +2567,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2586,12 +2586,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2606,13 +2606,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2627,7 +2627,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al27_to_He4_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Al27_to_He4_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Al27 --> He4 + Na23 @@ -2663,13 +2663,13 @@ void rate_Al27_to_He4_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 69.2206963145215 + -117.11189602392653 * tfactors.T9i + -50.2042 * tfactors.T913i + -1.64239 * tfactors.T913 + -1.59995 * tfactors.T9 + 0.184933 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.11189602392653 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * -1.64239 * tfactors.T923i + -1.59995 + (5.0/3.0) * 0.184933 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2684,7 +2684,7 @@ void rate_Al27_to_He4_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -2720,13 +2720,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2741,13 +2741,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2762,13 +2762,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2783,7 +2783,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -2818,12 +2818,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2838,13 +2838,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2859,7 +2859,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P31_to_He4_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_P31_to_He4_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // P31 --> He4 + Al27 @@ -2895,13 +2895,13 @@ void rate_P31_to_He4_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.21877134266595 + -112.19944704325766 * tfactors.T9i + -56.5351 * tfactors.T913i + -0.896208 * tfactors.T913 + -1.72024 * tfactors.T9 + 0.185409 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 112.19944704325766 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * -0.896208 * tfactors.T923i + -1.72024 + (5.0/3.0) * 0.185409 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2916,7 +2916,7 @@ void rate_P31_to_He4_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -2952,13 +2952,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2972,12 +2972,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2992,13 +2992,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3013,7 +3013,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -3049,13 +3049,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3070,7 +3070,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -3102,13 +3102,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3123,13 +3123,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3144,13 +3144,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3165,7 +3165,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 + He4 --> p + N15 @@ -3209,13 +3209,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.135846229234243 + -57.62215691264642 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 57.62215691264642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3230,13 +3230,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.915773770765759 + -58.78595691264642 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.78595691264642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3251,13 +3251,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.556646229234243 + -65.02815691264642 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.02815691264642 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3272,13 +3272,13 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -5.21402377076576 + -59.643326912646415 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.643326912646415 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3293,7 +3293,7 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N14 + He4 --> p + O17 @@ -3336,13 +3336,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.592359780998223 + -14.584520682879308 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.584520682879308 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3357,13 +3357,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.194270219001776 + -13.831125682879309 * tfactors.T9i + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.831125682879309 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3378,13 +3378,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 9.789270219001777 + -18.78977568287931 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.78977568287931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3399,13 +3399,13 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.148870219001777 + -15.945895682879309 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.945895682879309 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3420,7 +3420,7 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N15 + He4 --> p + O18 @@ -3463,13 +3463,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -29.6926341462146 + -46.42955443414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.42955443414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3484,13 +3484,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.178865853785396 + -46.183670434142684 * tfactors.T9i + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.183670434142684 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3505,13 +3505,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.155285853785398 + -51.50702043414268 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 51.50702043414268 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3526,13 +3526,13 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.4842658537854 + -47.84667043414268 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 47.84667043414268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3547,7 +3547,7 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O15 + He4 --> p + F18 @@ -3589,13 +3589,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.0671723108797964 + -36.45580946704611 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.45580946704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3610,13 +3610,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -32.4286676891202 + -33.81549146704611 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.81549146704611 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3631,13 +3631,13 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.315932310879795 + -33.43905946704611 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.43905946704611 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3652,7 +3652,7 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -3695,13 +3695,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3716,7 +3716,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + He4 --> p + F19 @@ -3758,13 +3758,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -53.121227264044336 + -94.28220973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.28220973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3779,13 +3779,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.874672735955667 + -94.15455973651265 * tfactors.T9i + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.15455973651265 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3800,13 +3800,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.941672735955667 + -97.44055973651265 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.44055973651265 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3821,13 +3821,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.778572735955667 + -97.90640973651266 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 97.90640973651266 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3842,13 +3842,13 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.822072735955667 + -96.62283973651265 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 96.62283973651265 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3863,7 +3863,7 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + p --> He4 + O14 @@ -3905,13 +3905,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.415567488049104 + -25.85518506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.85518506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3926,13 +3926,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.938467488049106 + -39.83288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 39.83288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3947,13 +3947,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.122467488049104 + -13.83288506704921 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 13.83288506704921 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3968,13 +3968,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.595367488049106 + -36.34288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.34288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3989,13 +3989,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.405067488049104 + -27.43288506704921 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.43288506704921 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4010,13 +4010,13 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.80433251195089 + -14.285921067049209 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.285921067049209 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4031,7 +4031,7 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // F17 + He4 --> p + Ne20 @@ -4073,13 +4073,13 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.645331236377224 + -0.004848799532844339 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 0.004848799532844339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4094,7 +4094,7 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -4136,13 +4136,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4157,13 +4157,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4178,13 +4178,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4199,7 +4199,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne21 + p --> He4 + F18 @@ -4241,13 +4241,13 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 50.63668915976785 + -22.04702300768339 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.04702300768339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4262,7 +4262,7 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne22 + p --> He4 + F19 @@ -4304,13 +4304,13 @@ void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 54.774145434237155 + -22.26126198150658 * tfactors.T9i + -38.7722 * tfactors.T913i + -13.3654 * tfactors.T913 + 0.863648 * tfactors.T9 + -0.0451491 * tfactors.T953 + 1.33333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.26126198150658 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.7722 * tfactors.T943i + (1.0/3.0) * -13.3654 * tfactors.T923i + 0.863648 + (5.0/3.0) * -0.0451491 * tfactors.T923 + 1.33333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4325,13 +4325,13 @@ void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 53.51334543423716 + -65.19766198150657 * tfactors.T9i + -34.5008 * tfactors.T913i + 56.9316 * tfactors.T913 + 2.09613 * tfactors.T9 + -32.496 * tfactors.T953 + 0.333333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.19766198150657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.5008 * tfactors.T943i + (1.0/3.0) * 56.9316 * tfactors.T923i + 2.09613 + (5.0/3.0) * -32.496 * tfactors.T923 + 0.333333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4346,13 +4346,13 @@ void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 29432.442445434237 + -152.44286198150658 * tfactors.T9i + 12625.1 * tfactors.T913i + -49107.1 * tfactors.T913 + 9227.53 * tfactors.T9 + -2086.65 * tfactors.T953 + 14520.2 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 152.44286198150658 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 12625.1 * tfactors.T943i + (1.0/3.0) * -49107.1 * tfactors.T923i + 9227.53 + (5.0/3.0) * -2086.65 * tfactors.T923 + 14520.2 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4367,7 +4367,7 @@ void rate_p_Ne22_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na21 + p --> He4 + Ne18 @@ -4409,13 +4409,13 @@ void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.82911395968675 + -36.38615638318757 * tfactors.T9i + 8.5632e-08 * tfactors.T913i + 24.8579 * tfactors.T913 + 0.0823845 * tfactors.T9 + -0.365374 * tfactors.T953 + -2.21415e-06 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.38615638318757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.5632e-08 * tfactors.T943i + (1.0/3.0) * 24.8579 * tfactors.T923i + 0.0823845 + (5.0/3.0) * -0.365374 * tfactors.T923 + -2.21415e-06 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4430,13 +4430,13 @@ void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -22.686913959686752 + -40.87721638318757 * tfactors.T9i + 4.73034e-07 * tfactors.T913i + 36.29 * tfactors.T913 + -6.56565 * tfactors.T9 + -2.96287e-06 * tfactors.T953 + -9.00373e-07 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87721638318757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.73034e-07 * tfactors.T943i + (1.0/3.0) * 36.29 * tfactors.T923i + -6.56565 + (5.0/3.0) * -2.96287e-06 * tfactors.T923 + -9.00373e-07 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4451,13 +4451,13 @@ void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -37.64591395968675 + -34.48551638318757 * tfactors.T9i + 7.09521e-06 * tfactors.T913i + 34.1789 * tfactors.T913 + -1.72974 * tfactors.T9 + -0.0395081 * tfactors.T953 + -7.82759e-07 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 34.48551638318757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.09521e-06 * tfactors.T943i + (1.0/3.0) * 34.1789 * tfactors.T923i + -1.72974 + (5.0/3.0) * -0.0395081 * tfactors.T923 + -7.82759e-07 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4472,7 +4472,7 @@ void rate_p_Na21_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na21_to_p_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Na21_to_p_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na21 + He4 --> p + Mg24 @@ -4514,13 +4514,13 @@ void rate_He4_Na21_to_p_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 39.83098890373066 + -0.00380570701699412 * tfactors.T9i + -49.9621 * tfactors.T913i + 5.90498 * tfactors.T913 + -1.6598 * tfactors.T9 + 0.117817 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 0.00380570701699412 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -49.9621 * tfactors.T943i + (1.0/3.0) * 5.90498 * tfactors.T923i + -1.6598 + (5.0/3.0) * 0.117817 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4535,7 +4535,7 @@ void rate_He4_Na21_to_p_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Na22 + p --> He4 + Ne19 @@ -4577,13 +4577,13 @@ void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.08404589973112 + -24.01421348166705 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.01421348166705 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4598,7 +4598,7 @@ void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -4640,13 +4640,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4661,13 +4661,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4682,13 +4682,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4703,7 +4703,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -4745,13 +4745,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4766,13 +4766,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4787,13 +4787,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4808,7 +4808,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -4850,13 +4850,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4871,13 +4871,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4892,13 +4892,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4913,13 +4913,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4934,7 +4934,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -4970,13 +4970,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4991,7 +4991,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -5026,12 +5026,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5046,13 +5046,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5067,13 +5067,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5087,12 +5087,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5107,7 +5107,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -5149,13 +5149,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5170,7 +5170,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -5206,13 +5206,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5227,7 +5227,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -5263,13 +5263,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5284,13 +5284,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5305,13 +5305,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5326,7 +5326,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -5368,13 +5368,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5389,7 +5389,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -5425,13 +5425,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5446,7 +5446,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -5482,13 +5482,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5503,7 +5503,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -5539,13 +5539,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5560,7 +5560,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -5596,13 +5596,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5617,13 +5617,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5638,13 +5638,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5659,13 +5659,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5680,7 +5680,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -5722,13 +5722,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5743,7 +5743,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -5779,13 +5779,13 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5800,7 +5800,7 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -5836,13 +5836,13 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5857,7 +5857,7 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -5899,13 +5899,13 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5920,7 +5920,7 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -5956,13 +5956,13 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5977,7 +5977,7 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -6013,13 +6013,13 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6034,7 +6034,7 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -6076,13 +6076,13 @@ void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6112,414 +6112,818 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_N14_to_p_C13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; - - } - rate_O14_to_p_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; - - } - rate_O15_to_p_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; - - } - rate_O16_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_F17_to_p_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; - - } - rate_F18_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; - - } - rate_F18_to_He4_N14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; - - } - rate_F19_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; - - } - rate_F19_to_He4_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; - - } - rate_Ne18_to_p_F17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; - - } - rate_Ne18_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; - - } - rate_Ne19_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; - - } - rate_Ne19_to_He4_O15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; - - } - rate_Ne20_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Ne21_to_He4_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne21_to_He4_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_derived) = drate_dT; - - } - rate_Ne22_to_He4_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne22_to_He4_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne22_to_He4_O18_derived) = drate_dT; - - } - rate_Na21_to_p_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na21_to_p_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na21_to_p_Ne20_derived) = drate_dT; - - } - rate_Na21_to_He4_F17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na21_to_He4_F17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na21_to_He4_F17_derived) = drate_dT; - - } - rate_Na22_to_p_Ne21_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na22_to_p_Ne21_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_derived) = drate_dT; - - } - rate_Na22_to_He4_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na22_to_He4_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_derived) = drate_dT; - - } - rate_Na23_to_p_Ne22_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na23_to_p_Ne22_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_p_Ne22_derived) = drate_dT; - - } - rate_Na23_to_He4_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Na23_to_He4_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Al27_to_He4_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Al27_to_He4_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al27_to_He4_Na23_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_P31_to_He4_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_P31_to_He4_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P31_to_He4_Al27_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_He4_C12_to_p_N15_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; - - } - rate_He4_N14_to_p_O17_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; - - } - rate_He4_N15_to_p_O18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; - - } - rate_He4_O15_to_p_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_O16_to_p_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; - - } - rate_p_F17_to_He4_O14_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_p_Ne21_to_He4_F18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = drate_dT; - - } - rate_p_Ne22_to_He4_F19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Ne22_to_He4_F19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_derived) = drate_dT; - - } - rate_p_Na21_to_He4_Ne18_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_derived) = drate_dT; - - } - rate_He4_Na21_to_p_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_derived) = drate_dT; - - } - rate_p_Na22_to_He4_Ne19_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; - - } - rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; - - } - rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N14_to_p_C13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N14_to_p_C13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_p_C13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_p_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O14_to_p_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_p_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_p_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O15_to_p_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_p_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_p_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F17_to_p_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_He4_N14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_He4_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_F19_to_He4_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_p_F17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_p_F17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne18_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_He4_O15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne19_to_He4_O15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne21_to_He4_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne21_to_He4_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne22_to_He4_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne22_to_He4_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne22_to_He4_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na21_to_p_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na21_to_p_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na21_to_p_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na21_to_He4_F17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na21_to_He4_F17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na21_to_He4_F17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_p_Ne21_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na22_to_p_Ne21_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_He4_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na22_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_p_Ne22_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na23_to_p_Ne22_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_p_Ne22_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_He4_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Na23_to_He4_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al27_to_He4_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Al27_to_He4_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al27_to_He4_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P31_to_He4_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_P31_to_He4_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P31_to_He4_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_p_N15_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_C12_to_p_N15_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_p_O17_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N14_to_p_O17_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_p_O18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_N15_to_p_O18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_p_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O15_to_p_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_p_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_O16_to_p_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_He4_O14_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_F17_to_He4_O14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_He4_F18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne22); + } +#endif + rate_p_Ne22_to_He4_F19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Ne22_to_He4_F19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na21); + } +#endif + rate_p_Na21_to_He4_Ne18_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na21); + } +#endif + rate_He4_Na21_to_p_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na22); + } +#endif + rate_p_Na22_to_He4_Ne19_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/cno-he-burn-34am/pynucastro-info.txt b/networks/he-burn/cno-he-burn-34am/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/cno-he-burn-34am/pynucastro-info.txt +++ b/networks/he-burn/cno-he-burn-34am/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/cno-he-burn-34am/reaclib_rates.H b/networks/he-burn/cno-he-burn-34am/reaclib_rates.H index 8f0371a4e..ef38b99cd 100644 --- a/networks/he-burn/cno-he-burn-34am/reaclib_rates.H +++ b/networks/he-burn/cno-he-burn-34am/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -39,8 +46,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -55,7 +66,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -70,8 +81,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -86,7 +101,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -101,8 +116,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -117,7 +136,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -132,9 +151,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,9 +172,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -166,7 +193,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -181,9 +208,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -198,9 +229,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -215,7 +250,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -230,9 +265,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -247,9 +286,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -264,9 +307,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -281,7 +328,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -296,9 +343,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -313,9 +364,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -330,7 +385,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -345,9 +400,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -362,9 +421,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -379,9 +442,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -396,9 +463,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -413,7 +484,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -428,9 +499,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -445,9 +520,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -462,9 +541,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -479,7 +562,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -494,9 +577,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -511,9 +598,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -528,9 +619,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -545,7 +640,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> F19 @@ -560,9 +655,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -577,9 +676,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -594,9 +697,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -611,9 +718,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -628,7 +739,7 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> Ne18 @@ -643,9 +754,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -660,9 +775,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + 5.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + 5.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -677,9 +796,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -694,9 +817,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,7 +838,7 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> Ne19 @@ -726,9 +853,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -743,9 +874,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -760,9 +895,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -777,7 +916,7 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -792,9 +931,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +952,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -824,9 +967,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -841,9 +988,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -858,9 +1009,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -875,7 +1030,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -890,9 +1045,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -907,9 +1066,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -924,9 +1087,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -941,7 +1108,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + He4 --> Ne21 @@ -956,9 +1123,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -25.0898 + -5.50926 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 82.2218 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.50926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 82.2218 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -973,9 +1144,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -117.134 + -13.6759 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -42.7753 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -42.7753 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -990,9 +1165,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 2.14 + -5.99952 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 4.75778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.99952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 4.75778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1007,7 +1186,7 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> F19 @@ -1022,9 +1201,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1039,9 +1222,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1056,9 +1243,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1073,9 +1264,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1090,7 +1285,7 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + He4 --> Ne22 @@ -1105,9 +1300,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -31.9126 + -2.00306 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00306 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1122,9 +1321,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -81.3036 + -0.676112 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.676112 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1139,9 +1342,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 14.9748 + -31.0468 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.0468 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1156,9 +1363,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 82.2053 + -1.58534 * tfactors.T9i + -44.3823 * tfactors.T913i + -46.6617 * tfactors.T913 + 7.88059 * tfactors.T9 + -0.590829 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.58534 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -44.3823 * tfactors.T943i + (1.0/3.0) * -46.6617 * tfactors.T923i + 7.88059 + (5.0/3.0) * -0.590829 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1173,7 +1384,7 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> Ne18 @@ -1188,9 +1399,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1205,9 +1420,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1222,7 +1441,7 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + He4 --> Na21 @@ -1237,9 +1456,13 @@ void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 41.1529 + -1.72817 * tfactors.T9i + 15.559 * tfactors.T913i + -68.3231 * tfactors.T913 + 2.54275 * tfactors.T9 + -0.0989207 * tfactors.T953 + 36.8877 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.72817 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.559 * tfactors.T943i + (1.0/3.0) * -68.3231 * tfactors.T923i + 2.54275 + (5.0/3.0) * -0.0989207 * tfactors.T923 + 36.8877 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1254,7 +1477,7 @@ void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> Ne19 @@ -1269,9 +1492,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1286,9 +1513,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1303,9 +1534,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1320,7 +1555,7 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> Na22 @@ -1335,9 +1570,13 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 35.3786 + -1.82957 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 37.8396 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.82957 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 37.8396 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1352,7 +1591,7 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> Ne20 @@ -1367,9 +1606,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1384,9 +1627,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1401,9 +1648,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1418,7 +1669,7 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> Na23 @@ -1433,9 +1684,13 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 52.7856 + -2.11408 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 54.4823 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11408 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 54.4823 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1450,7 +1705,7 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> Na21 @@ -1465,9 +1720,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 195297.0 + -61.14 * tfactors.T9i + 21894.7 * tfactors.T913i + -319153.0 * tfactors.T913 + 224369.0 * tfactors.T9 + -188049.0 * tfactors.T953 + 48703.4 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.14 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21894.7 * tfactors.T943i + (1.0/3.0) * -319153.0 * tfactors.T923i + 224369.0 + (5.0/3.0) * -188049.0 * tfactors.T923 + 48703.4 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1482,9 +1741,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 207.877 + -0.152711 * tfactors.T9i + 15.325 * tfactors.T913i + -294.859 * tfactors.T913 + 107.692 * tfactors.T9 + -46.2072 * tfactors.T953 + 57.8398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.152711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.325 * tfactors.T943i + (1.0/3.0) * -294.859 * tfactors.T923i + 107.692 + (5.0/3.0) * -46.2072 * tfactors.T923 + 57.8398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1499,9 +1762,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.83103 + -8.838 * tfactors.T9i + 20.5893 * tfactors.T913i + -17.5841 * tfactors.T913 + 0.243226 * tfactors.T9 + -0.000231418 * tfactors.T953 + 12.8398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.838 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 20.5893 * tfactors.T943i + (1.0/3.0) * -17.5841 * tfactors.T923i + 0.243226 + (5.0/3.0) * -0.000231418 * tfactors.T923 + 12.8398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1516,9 +1783,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 230.019 + -4.45358 * tfactors.T9i + 258.57 * tfactors.T913i + -506.387 * tfactors.T913 + 22.1576 * tfactors.T9 + -0.721182 * tfactors.T953 + 230.288 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.45358 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 258.57 * tfactors.T943i + (1.0/3.0) * -506.387 * tfactors.T923i + 22.1576 + (5.0/3.0) * -0.721182 * tfactors.T923 + 230.288 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1533,7 +1804,7 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -1548,9 +1819,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1565,9 +1840,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1582,9 +1861,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1599,9 +1882,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1616,7 +1903,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + p --> Na22 @@ -1631,9 +1918,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.0696 + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1648,9 +1939,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -39.4862 + -4.21385 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.21385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1665,9 +1960,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 1.75704 + -1.39957 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39957 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1682,9 +1981,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -47.6554 + -0.19618 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.19618 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1699,7 +2002,7 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + p --> Na23 @@ -1714,9 +2017,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.599331 + -1.72007 * tfactors.T9i + -0.310765 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.72007 * tfactors.T9i * tfactors.T9i + -0.310765 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1731,9 +2038,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -21.4345 + -0.410962 * tfactors.T9i + -1.49019 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.410962 * tfactors.T9i * tfactors.T9i + -1.49019 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1748,9 +2059,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.09035 + -0.799756 * tfactors.T9i + 3.23558 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.799756 * tfactors.T9i * tfactors.T9i + 3.23558 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1765,9 +2080,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.0373 + -8.72377 * tfactors.T9i + -0.767467 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.72377 * tfactors.T9i * tfactors.T9i + -0.767467 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1782,9 +2101,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.6408 + -4.59936 * tfactors.T9i + 0.156226 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.59936 * tfactors.T9i * tfactors.T9i + 0.156226 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1799,9 +2122,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.00597 + -2.6179 * tfactors.T9i + -4.29964 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.6179 * tfactors.T9i * tfactors.T9i + -4.29964 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1816,7 +2143,7 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -1831,9 +2158,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1848,9 +2179,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1865,9 +2200,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1882,7 +2221,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + He4 --> Al27 @@ -1897,9 +2236,13 @@ void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 44.7724 + -50.2042 * tfactors.T913i + -1.64239 * tfactors.T913 + -1.59995 * tfactors.T9 + 0.184933 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * -1.64239 * tfactors.T923i + -1.59995 + (5.0/3.0) * 0.184933 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1914,7 +2257,7 @@ void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -1929,9 +2272,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1946,9 +2293,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1963,7 +2314,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -1978,9 +2329,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1995,9 +2350,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2012,9 +2371,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2029,7 +2392,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + He4 --> P31 @@ -2044,9 +2407,13 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.2333 + -56.5351 * tfactors.T913i + -0.896208 * tfactors.T913 + -1.72024 * tfactors.T9 + 0.185409 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * -0.896208 * tfactors.T923i + -1.72024 + (5.0/3.0) * 0.185409 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2061,7 +2428,7 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -2076,9 +2443,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2093,7 +2464,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -2108,9 +2479,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2125,9 +2500,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2142,9 +2521,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2159,7 +2542,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -2174,9 +2557,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2191,7 +2578,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -2206,9 +2593,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2223,7 +2614,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -2238,9 +2629,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2255,7 +2650,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -2270,9 +2665,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2287,9 +2686,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2304,9 +2707,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2321,9 +2728,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2338,7 +2749,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -2353,9 +2764,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2370,9 +2785,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2387,9 +2806,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2404,9 +2827,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2421,9 +2848,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2438,9 +2869,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2455,7 +2890,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -2470,9 +2905,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2487,7 +2926,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -2502,9 +2941,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2519,7 +2962,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -2534,9 +2977,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2551,7 +2998,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -2566,9 +3013,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2583,7 +3034,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -2598,9 +3049,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2615,9 +3070,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2632,9 +3091,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2649,9 +3112,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2666,7 +3133,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> He4 + N15 @@ -2681,9 +3148,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2698,9 +3169,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2715,9 +3190,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2732,9 +3211,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2749,7 +3232,7 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -2764,9 +3247,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2781,9 +3268,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2798,9 +3289,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2815,7 +3310,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> p + Ne21 @@ -2830,9 +3325,13 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2847,7 +3346,7 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> He4 + O16 @@ -2862,9 +3361,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2879,9 +3382,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2896,9 +3403,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2913,9 +3424,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2930,9 +3445,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2947,7 +3466,7 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> p + Ne22 @@ -2962,9 +3481,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 52.9317 + -2.8444 * tfactors.T9i + -38.7722 * tfactors.T913i + -13.3654 * tfactors.T913 + 0.863648 * tfactors.T9 + -0.0451491 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.8444 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.7722 * tfactors.T943i + (1.0/3.0) * -13.3654 * tfactors.T923i + 0.863648 + (5.0/3.0) * -0.0451491 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2979,9 +3502,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 51.6709 + -45.7808 * tfactors.T9i + -34.5008 * tfactors.T913i + 56.9316 * tfactors.T913 + 2.09613 * tfactors.T9 + -32.496 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.7808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.5008 * tfactors.T943i + (1.0/3.0) * 56.9316 * tfactors.T923i + 2.09613 + (5.0/3.0) * -32.496 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2996,9 +3523,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 29430.6 + -133.026 * tfactors.T9i + 12625.1 * tfactors.T913i + -49107.1 * tfactors.T913 + 9227.53 * tfactors.T9 + -2086.65 * tfactors.T953 + 14520.2 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 133.026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 12625.1 * tfactors.T943i + (1.0/3.0) * -49107.1 * tfactors.T923i + 9227.53 + (5.0/3.0) * -2086.65 * tfactors.T923 + 14520.2 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3013,7 +3544,7 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + He4 --> p + Na21 @@ -3028,9 +3559,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.5811 + -5.76874 * tfactors.T9i + 8.5632e-08 * tfactors.T913i + 24.8579 * tfactors.T913 + 0.0823845 * tfactors.T9 + -0.365374 * tfactors.T953 + -2.21415e-06 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.76874 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.5632e-08 * tfactors.T943i + (1.0/3.0) * 24.8579 * tfactors.T923i + 0.0823845 + (5.0/3.0) * -0.365374 * tfactors.T923 + -2.21415e-06 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3045,9 +3580,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -22.4389 + -10.2598 * tfactors.T9i + 4.73034e-07 * tfactors.T913i + 36.29 * tfactors.T913 + -6.56565 * tfactors.T9 + -2.96287e-06 * tfactors.T953 + -9.00373e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2598 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.73034e-07 * tfactors.T943i + (1.0/3.0) * 36.29 * tfactors.T923i + -6.56565 + (5.0/3.0) * -2.96287e-06 * tfactors.T923 + -9.00373e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3062,9 +3601,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -37.3979 + -3.8681 * tfactors.T9i + 7.09521e-06 * tfactors.T913i + 34.1789 * tfactors.T913 + -1.72974 * tfactors.T9 + -0.0395081 * tfactors.T953 + -7.82759e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.8681 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.09521e-06 * tfactors.T943i + (1.0/3.0) * 34.1789 * tfactors.T923i + -1.72974 + (5.0/3.0) * -0.0395081 * tfactors.T923 + -7.82759e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3079,7 +3622,7 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + He4 --> p + Na22 @@ -3094,9 +3637,13 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.1874 + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3111,7 +3658,7 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> He4 + F17 @@ -3126,9 +3673,13 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3143,7 +3694,7 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -3158,9 +3709,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3175,9 +3730,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3192,9 +3751,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3209,7 +3772,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + p --> He4 + Na21 @@ -3224,9 +3787,13 @@ void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 42.3867 + -79.897 * tfactors.T9i + -49.9621 * tfactors.T913i + 5.90498 * tfactors.T913 + -1.6598 * tfactors.T9 + 0.117817 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.897 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -49.9621 * tfactors.T943i + (1.0/3.0) * 5.90498 * tfactors.T923i + -1.6598 + (5.0/3.0) * 0.117817 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3241,7 +3808,7 @@ void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -3256,9 +3823,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3273,9 +3844,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3290,9 +3865,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3307,7 +3886,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -3322,9 +3901,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3339,9 +3922,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3356,9 +3943,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3373,7 +3964,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -3388,9 +3979,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3405,9 +4000,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3422,9 +4021,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3439,7 +4042,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -3454,9 +4057,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3471,7 +4078,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -3486,9 +4093,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3503,7 +4114,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -3518,9 +4129,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3535,7 +4150,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na22_to_Al26_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na22_to_Al26_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + He4 --> Al26 @@ -3550,9 +4165,13 @@ void rate_He4_Na22_to_Al26_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 36.3797 + -50.0924 * tfactors.T913i + -0.390826 * tfactors.T913 + -0.99531 * tfactors.T9 + 0.101354 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.0924 * tfactors.T943i + (1.0/3.0) * -0.390826 * tfactors.T923i + -0.99531 + (5.0/3.0) * 0.101354 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3567,7 +4186,7 @@ void rate_He4_Na22_to_Al26_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg24_to_Al25_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg24_to_Al25_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + p --> Al25 @@ -3582,9 +4201,13 @@ void rate_p_Mg24_to_Al25_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.24021 + -2.48451 * tfactors.T9i + -1.57811 * tfactors.T913 + 1.52232 * tfactors.T9 + -0.183001 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.48451 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.57811 * tfactors.T923i + 1.52232 + (5.0/3.0) * -0.183001 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3599,9 +4222,13 @@ void rate_p_Mg24_to_Al25_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.8966 + -22.0227 * tfactors.T913i + 0.361297 * tfactors.T913 + 2.61292 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -22.0227 * tfactors.T943i + (1.0/3.0) * 0.361297 * tfactors.T923i + 2.61292 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3616,7 +4243,7 @@ void rate_p_Mg24_to_Al25_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -3631,9 +4258,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3648,7 +4279,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -3663,9 +4294,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3680,9 +4315,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3697,9 +4336,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3714,9 +4357,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3731,7 +4378,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -3746,9 +4393,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3763,9 +4414,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3780,9 +4435,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3797,9 +4456,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3814,7 +4477,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -3829,9 +4492,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3846,7 +4513,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -3861,9 +4528,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3878,9 +4549,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3895,9 +4570,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3912,7 +4591,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -3927,9 +4606,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3944,7 +4627,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -3959,9 +4642,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3976,7 +4663,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -3991,9 +4678,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4008,7 +4699,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -4023,9 +4714,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4040,7 +4735,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -4055,9 +4750,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4072,7 +4771,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -4087,9 +4786,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4104,7 +4807,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -4119,9 +4822,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4136,9 +4843,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4153,9 +4864,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4170,9 +4885,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4187,7 +4906,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -4202,9 +4921,13 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4219,7 +4942,7 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -4234,9 +4957,13 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4251,7 +4978,7 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -4266,9 +4993,13 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4283,7 +5014,7 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -4298,9 +5029,13 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4315,7 +5050,7 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -4330,9 +5065,13 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4347,7 +5086,7 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -4362,9 +5101,13 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4379,47 +5122,47 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na22_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na22_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + 1.5 He4 --> Si28 (calls the underlying rate) - rate_He4_Na22_to_Al26_removed(tfactors, rate, drate_dT); + rate_He4_Na22_to_Al26_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg24_to_Na22_He4_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg24_to_Na22_He4_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + p + p --> Na22 + He4 (calls the underlying rate) - rate_p_Mg24_to_Al25_removed(tfactors, rate, drate_dT); + rate_p_Mg24_to_Al25_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -4661,528 +5404,1380 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_He4_N15_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; - - } - rate_He4_O14_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_O15_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_He4_O17_to_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; - - } - rate_p_O18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; - - } - rate_He4_O18_to_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = drate_dT; - - } - rate_p_F17_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_F17_to_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = drate_dT; - - } - rate_p_F18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; - - } - rate_He4_F18_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; - - } - rate_p_F19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_F19_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; - - } - rate_p_Ne20_to_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Ne21_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; - - } - rate_p_Ne22_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Na23_to_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Al27_to_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_O18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He4_F18_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; - - } - rate_p_F19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; - - } - rate_He4_F19_to_p_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = drate_dT; - - } - rate_He4_Ne18_to_p_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = drate_dT; - - } - rate_He4_Ne19_to_p_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; - - } - rate_p_Ne20_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Mg24_to_He4_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_He4_Na22_to_Al26_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na22_to_Al26_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_removed) = drate_dT; - - } - rate_p_Mg24_to_Al25_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg24_to_Al25_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_removed) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; - - } - rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - - } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - - } - rate_He4_Na22_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na22_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na22_to_Si28_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O17); + } +#endif + rate_He4_O17_to_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O18); + } +#endif + rate_He4_O18_to_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne22); + } +#endif + rate_p_Ne22_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na23); + } +#endif + rate_He4_Na23_to_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al27); + } +#endif + rate_He4_Al27_to_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_p_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne18); + } +#endif + rate_He4_Ne18_to_p_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne19); + } +#endif + rate_He4_Ne19_to_p_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg24); + } +#endif + rate_p_Mg24_to_He4_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na22); + } +#endif + rate_He4_Na22_to_Al26_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na22_to_Al26_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg24); + } +#endif + rate_p_Mg24_to_Al25_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg24_to_Al25_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na22); + } +#endif + rate_He4_Na22_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na22_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na22_to_Si28_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg24); + } +#endif + rate_p_Mg24_to_Na22_He4_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg24_to_Na22_He4_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg24_to_Na22_He4_modified) = drate_dT; + } } - rate_p_Mg24_to_Na22_He4_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg24_to_Na22_He4_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg24_to_Na22_He4_modified) = drate_dT; - } } @@ -5202,75 +6797,75 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; - } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; - } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; - } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/he-burn-19am/actual_network.H b/networks/he-burn/he-burn-19am/actual_network.H index 9723ff7c0..ff0706254 100644 --- a/networks/he-burn/he-burn-19am/actual_network.H +++ b/networks/he-burn/he-burn-19am/actual_network.H @@ -298,6 +298,41 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_C12_C12 = 10, + k_He4_N13 = 11, + k_C12_O16 = 12, + k_O16_O16 = 13, + k_He4_He4 = 14, + k_He4_Be8 = 15, + k_He4_N14 = 16, + k_p_O16 = 17, + k_He4_S32 = 18, + k_p_Cl35 = 19, + k_He4_Ar36 = 20, + k_p_K39 = 21, + k_He4_Ca40 = 22, + k_p_Sc43 = 23, + k_He4_Ti44 = 24, + k_p_V47 = 25, + k_He4_Cr48 = 26, + k_p_Mn51 = 27, + k_He4_Fe52 = 28, + k_p_Co55 = 29, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/he-burn-19am/actual_rhs.H b/networks/he-burn/he-burn-19am/actual_rhs.H index 2ac270db1..8cc6de445 100644 --- a/networks/he-burn/he-burn-19am/actual_rhs.H +++ b/networks/he-burn/he-burn-19am/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,625 +64,355 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - if (disable_p_C12_to_N13_reaclib) { - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; - } - rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; - } - } - - if (disable_He4_N13_to_p_O16_reaclib) { - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; - } - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; - } - } - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_Ne20_modified); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified); - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_N14_He4_modified); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified); - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.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_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + // here Y is consistent with state.xn - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } + const tf_t tfactors = evaluate_tfactors(state.T); + // Precompute screening terms - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif + + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + if (disable_p_C12_to_N13_reaclib) { + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = 0.0; + } + rate_eval.screened_rates(k_N13_to_p_C12_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = 0.0; + } } - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + if (disable_He4_N13_to_p_O16_reaclib) { + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = 0.0; + } + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = 0.0; + } } -#endif // Fill approximate rates diff --git a/networks/he-burn/he-burn-19am/derived_rates.H b/networks/he-burn/he-burn-19am/derived_rates.H index bb3e3a9c7..c4ab42c3a 100644 --- a/networks/he-burn/he-burn-19am/derived_rates.H +++ b/networks/he-burn/he-burn-19am/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -841,13 +841,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -862,13 +862,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -883,13 +883,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -904,7 +904,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -947,13 +947,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -968,7 +968,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1010,13 +1010,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1031,13 +1031,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1052,13 +1052,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1073,7 +1073,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1115,13 +1115,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1136,13 +1136,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1157,13 +1157,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1178,7 +1178,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1220,13 +1220,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1241,13 +1241,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1262,13 +1262,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1283,7 +1283,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -1325,13 +1325,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1346,13 +1346,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1367,13 +1367,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1388,13 +1388,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1409,7 +1409,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -1445,13 +1445,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1466,7 +1466,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -1501,12 +1501,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1521,13 +1521,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1542,13 +1542,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1562,12 +1562,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1582,7 +1582,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -1624,13 +1624,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1645,7 +1645,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -1681,13 +1681,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1702,7 +1702,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -1738,13 +1738,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1759,13 +1759,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1780,13 +1780,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1801,7 +1801,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -1843,13 +1843,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1864,7 +1864,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -1900,13 +1900,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1921,7 +1921,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -1957,13 +1957,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1978,7 +1978,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -2014,13 +2014,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2035,7 +2035,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -2071,13 +2071,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2092,13 +2092,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2113,13 +2113,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2134,13 +2134,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2155,7 +2155,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -2197,13 +2197,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2218,7 +2218,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -2254,13 +2254,13 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2275,7 +2275,7 @@ void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -2311,13 +2311,13 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2332,7 +2332,7 @@ void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -2374,13 +2374,13 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2395,7 +2395,7 @@ void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -2431,13 +2431,13 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2452,7 +2452,7 @@ void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -2488,13 +2488,13 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2509,7 +2509,7 @@ void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -2551,13 +2551,13 @@ void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2587,198 +2587,386 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; - - } - rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; - - } - rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/he-burn-19am/he-burn-19am.png b/networks/he-burn/he-burn-19am/he-burn-19am.png index 2ab7e457509b7b2600a83de60908afb27e9c5260..e9ea509bd1adb35303faac34d3f95919f062f084 100644 GIT binary patch literal 89135 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 literal 88622 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%0D45A1|dZJ7KQ6>WG_xH9ipg^rG{ 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 ?X_;;$NlaU8#n2Al-;D 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 kGt_PWT|M$YarJM4cCB*87nX) screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -565,9 +664,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -597,9 +700,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -629,9 +736,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -661,9 +772,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -693,9 +808,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -725,9 +844,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -757,9 +880,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -789,9 +916,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,9 +937,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -823,9 +958,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -840,7 +979,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -855,9 +994,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -872,9 +1015,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -889,9 +1036,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -906,7 +1057,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -921,9 +1072,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -938,9 +1093,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -955,9 +1114,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -972,7 +1135,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -987,9 +1150,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1004,9 +1171,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1021,9 +1192,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1038,7 +1213,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -1053,9 +1228,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1070,9 +1249,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1087,9 +1270,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1104,7 +1291,7 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -1119,9 +1306,13 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1136,7 +1327,7 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1151,9 +1342,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1168,7 +1363,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1183,9 +1378,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1200,7 +1399,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1215,9 +1414,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1232,7 +1435,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -1247,9 +1450,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1264,7 +1471,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -1279,9 +1486,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1296,9 +1507,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1313,9 +1528,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1330,9 +1549,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1347,7 +1570,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -1362,9 +1585,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1379,9 +1606,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1396,9 +1627,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1413,9 +1648,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1430,7 +1669,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -1445,9 +1684,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1462,7 +1705,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -1477,9 +1720,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1494,9 +1741,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1511,9 +1762,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1528,7 +1783,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -1543,9 +1798,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1560,7 +1819,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -1575,9 +1834,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1592,7 +1855,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -1607,9 +1870,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1624,7 +1891,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -1639,9 +1906,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1656,7 +1927,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -1671,9 +1942,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1688,7 +1963,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -1703,9 +1978,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1720,7 +1999,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -1735,9 +2014,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1752,9 +2035,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1769,9 +2056,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1786,9 +2077,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1803,7 +2098,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -1818,9 +2113,13 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1835,7 +2134,7 @@ void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -1850,9 +2149,13 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1867,7 +2170,7 @@ void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -1882,9 +2185,13 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1899,7 +2206,7 @@ void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -1914,9 +2221,13 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1931,7 +2242,7 @@ void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -1946,9 +2257,13 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1963,7 +2278,7 @@ void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -1978,9 +2293,13 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1995,47 +2314,47 @@ void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + 1.5 He4 --> Ne20 (calls the underlying rate) - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p + p --> N14 + He4 (calls the underlying rate) - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -2277,294 +2596,774 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; - - } - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; - - } - rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; - - } - rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; - - } - rate_He4_N14_to_Ne20_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; - - } - rate_p_O16_to_N14_He4_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_Ne20_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_N14_He4_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -2584,75 +3383,75 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; - } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; - } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; - } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/he-burn-28amnp/actual_network.H b/networks/he-burn/he-burn-28amnp/actual_network.H index a9dd04701..cb4a98db2 100644 --- a/networks/he-burn/he-burn-28amnp/actual_network.H +++ b/networks/he-burn/he-burn-28amnp/actual_network.H @@ -396,6 +396,49 @@ namespace Rates NumRates = k_Ni57_to_n_Ni56_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_He4_Cr48 = 10, + k_p_nse_Mn51 = 11, + k_He4_Mn51 = 12, + k_He4_Fe52 = 13, + k_p_nse_Co55 = 14, + k_C12_C12 = 15, + k_He4_N13 = 16, + k_C12_O16 = 17, + k_O16_O16 = 18, + k_He4_He4 = 19, + k_He4_Be8 = 20, + k_He4_N14 = 21, + k_p_O16 = 22, + k_p_nse_Fe54 = 23, + k_He4_Fe54 = 24, + k_p_nse_Fe56 = 25, + k_p_nse_Co57 = 26, + k_He4_Co55 = 27, + k_p_nse_Co56 = 28, + k_p_nse_Ni58 = 29, + k_He4_S32 = 30, + k_p_Cl35 = 31, + k_He4_Ar36 = 32, + k_p_K39 = 33, + k_He4_Ca40 = 34, + k_p_Sc43 = 35, + k_He4_Ti44 = 36, + k_p_V47 = 37, + NumScreenPairs = k_p_V47 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/he-burn-28amnp/actual_rhs.H b/networks/he-burn/he-burn-28amnp/actual_rhs.H index 333cf1c1f..ba33f6bda 100644 --- a/networks/he-burn/he-burn-28amnp/actual_rhs.H +++ b/networks/he-burn/he-burn-28amnp/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,751 +64,414 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.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_nse_Mn51_to_Fe52_reaclib); - rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived); - rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Mn51) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn51) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_nse_Co55_to_Ni56_reaclib); - rate_eval.screened_rates(k_p_nse_Co55_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived); - rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_Ne20_modified); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified); - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_N14_He4_modified); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified); - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.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_nse_Fe54_to_Co55_reaclib); - rate_eval.screened_rates(k_p_nse_Fe54_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived); - rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Fe54) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived); - rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Fe56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Fe56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_nse_Fe56_to_Co57_reaclib); - rate_eval.screened_rates(k_p_nse_Fe56_to_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived); - rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.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_nse_Co57_to_Ni58_reaclib); - rate_eval.screened_rates(k_p_nse_Co57_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Co57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Co57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54_reaclib); - rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Co56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived); - rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_nse_Ni58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_nse_Ni58) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived); - rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived); - rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/he-burn/he-burn-28amnp/derived_rates.H b/networks/he-burn/he-burn-28amnp/derived_rates.H index c521e9a5d..a0fb65053 100644 --- a/networks/he-burn/he-burn-28amnp/derived_rates.H +++ b/networks/he-burn/he-burn-28amnp/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_nse_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_nse_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p_nse + Mn51 @@ -845,13 +845,13 @@ void rate_Fe52_to_p_nse_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -866,7 +866,7 @@ void rate_Fe52_to_p_nse_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -902,13 +902,13 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -923,7 +923,7 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> He4 + Mn51 @@ -959,13 +959,13 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.61473213109255 + -95.29300562248025 * tfactors.T9i + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 95.29300562248025 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -980,7 +980,7 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_nse_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_nse_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p_nse + Co55 @@ -1016,13 +1016,13 @@ void rate_Ni56_to_p_nse_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1037,7 +1037,7 @@ void rate_Ni56_to_p_nse_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -1073,13 +1073,13 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1094,7 +1094,7 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -1126,13 +1126,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1147,13 +1147,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1168,13 +1168,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1189,7 +1189,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -1232,13 +1232,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1253,7 +1253,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1295,13 +1295,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1316,13 +1316,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1337,13 +1337,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1358,7 +1358,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1400,13 +1400,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1421,13 +1421,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1442,13 +1442,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1463,7 +1463,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1505,13 +1505,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1526,13 +1526,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1547,13 +1547,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1568,7 +1568,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p_nse --> He4 + Cr48 @@ -1610,13 +1610,13 @@ void rate_p_nse_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1631,7 +1631,7 @@ void rate_p_nse_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Co55_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p_nse --> He4 + Fe52 @@ -1673,13 +1673,13 @@ void rate_p_nse_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1694,7 +1694,7 @@ void rate_p_nse_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_p_nse_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_p_nse_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> p_nse + Fe54 @@ -1730,13 +1730,13 @@ void rate_Co55_to_p_nse_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.84851844810452 + -58.76958578644693 * tfactors.T9i + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.76958578644693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1751,7 +1751,7 @@ void rate_Co55_to_p_nse_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 --> n + Co55 @@ -1787,13 +1787,13 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.647564333711024 + -116.994640839646 * tfactors.T9i + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 116.994640839646 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1808,7 +1808,7 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> n + Co56 @@ -1844,13 +1844,13 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.17386809654295 + -132.01901045161702 * tfactors.T9i + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 132.01901045161702 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1865,7 +1865,7 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_p_nse_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_p_nse_Fe56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> p_nse + Fe56 @@ -1901,13 +1901,13 @@ void rate_Co57_to_p_nse_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.68564187237867 + -69.94636137001572 * tfactors.T9i + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 69.94636137001572 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1922,7 +1922,7 @@ void rate_Co57_to_p_nse_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_p_nse_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> p_nse + Co57 @@ -1958,13 +1958,13 @@ void rate_Ni58_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.794489871251855 + -94.83410720454592 * tfactors.T9i + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.83410720454592 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1979,7 +1979,7 @@ void rate_Ni58_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> He4 + Fe54 @@ -2015,13 +2015,13 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.23428031558652 + -74.25981652709197 * tfactors.T9i + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.25981652709197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2036,7 +2036,7 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + p_nse --> He4 + Mn51 @@ -2078,13 +2078,13 @@ void rate_p_nse_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 65.35241368298804 + -36.52341983603332 * tfactors.T9i + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.52341983603332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2099,7 +2099,7 @@ void rate_p_nse_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe54_to_p_nse_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + He4 --> p_nse + Co57 @@ -2141,13 +2141,13 @@ void rate_He4_Fe54_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate ln_set_rate = -1.404090444334669 + -20.574290677453938 * tfactors.T9i + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 20.574290677453938 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2162,7 +2162,7 @@ void rate_He4_Fe54_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Fe56_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 + p_nse --> n + Co56 @@ -2204,13 +2204,13 @@ void rate_p_nse_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 22.653426224164285 + -62.07264908160129 * tfactors.T9i + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.07264908160129 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2225,7 +2225,7 @@ void rate_p_nse_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Co56_to_n_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 + p_nse --> n + Ni56 @@ -2267,13 +2267,13 @@ void rate_p_nse_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 13.374260291785419 + -33.830037058152215 * tfactors.T9i + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.830037058152215 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2288,7 +2288,7 @@ void rate_p_nse_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_nse_Ni58_to_He4_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 + p_nse --> He4 + Co55 @@ -2330,13 +2330,13 @@ void rate_p_nse_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 63.596461867482006 + -15.490230740645051 * tfactors.T9i + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.490230740645051 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2351,7 +2351,7 @@ void rate_p_nse_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -2393,13 +2393,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2414,13 +2414,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2435,13 +2435,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2456,13 +2456,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2477,7 +2477,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -2513,13 +2513,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2534,7 +2534,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -2569,12 +2569,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2589,13 +2589,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2610,13 +2610,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2630,12 +2630,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2650,7 +2650,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -2692,13 +2692,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2713,7 +2713,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -2749,13 +2749,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2770,7 +2770,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -2806,13 +2806,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2827,13 +2827,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2848,13 +2848,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2869,7 +2869,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -2911,13 +2911,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2932,7 +2932,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -2968,13 +2968,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2989,7 +2989,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -3025,13 +3025,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3046,7 +3046,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -3082,13 +3082,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3103,7 +3103,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -3139,13 +3139,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3160,13 +3160,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3181,13 +3181,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3202,13 +3202,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3223,7 +3223,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -3265,13 +3265,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3286,7 +3286,7 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 --> n + Fe53 @@ -3322,13 +3322,13 @@ void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.23234536763494 + -155.25009527915816 * tfactors.T9i + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 155.25009527915816 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3343,7 +3343,7 @@ void rate_Fe54_to_n_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe53 --> n + Fe52 @@ -3379,13 +3379,13 @@ void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.50789742709652 + -124.01421385132892 * tfactors.T9i + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 124.01421385132892 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3400,7 +3400,7 @@ void rate_Fe53_to_n_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 --> n + Fe55 @@ -3436,13 +3436,13 @@ void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.806892234523204 + -130.0322634199283 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 7.97093 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 130.0322634199283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 7.97093 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3457,7 +3457,7 @@ void rate_Fe56_to_n_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe55 --> n + Fe54 @@ -3493,13 +3493,13 @@ void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.50487677145662 + -107.84100838776591 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -8.28317 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 107.84100838776591 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -8.28317 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3514,7 +3514,7 @@ void rate_Fe55_to_n_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> n + Ni57 @@ -3550,13 +3550,13 @@ void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.36077897558323 + -141.76332431826057 * tfactors.T9i + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 141.76332431826057 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3571,7 +3571,7 @@ void rate_Ni58_to_n_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 --> n + Ni56 @@ -3607,13 +3607,13 @@ void rate_Ni57_to_n_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.391039283996996 + -118.91983039605458 * tfactors.T9i + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 118.91983039605458 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3643,306 +3643,596 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_Fe52_to_p_nse_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_nse_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_nse_Mn51_derived) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; - - } - rate_Co55_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; - - } - rate_Ni56_to_p_nse_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_nse_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_nse_Co55_derived) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_p_nse_Mn51_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived) = drate_dT; - - } - rate_p_nse_Co55_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived) = drate_dT; - - } - rate_Co55_to_p_nse_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co55_to_p_nse_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_p_nse_Fe54_derived) = drate_dT; - - } - rate_Co56_to_n_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; - - } - rate_Co57_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; - - } - rate_Co57_to_p_nse_Fe56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_p_nse_Fe56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_p_nse_Fe56_derived) = drate_dT; - - } - rate_Ni58_to_p_nse_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_p_nse_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_p_nse_Co57_derived) = drate_dT; - - } - rate_Ni58_to_He4_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; - - } - rate_p_nse_Fe54_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived) = drate_dT; - - } - rate_He4_Fe54_to_p_nse_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived) = drate_dT; - - } - rate_p_nse_Fe56_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived) = drate_dT; - - } - rate_p_nse_Co56_to_n_Ni56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived) = drate_dT; - - } - rate_p_nse_Ni58_to_He4_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - - } - rate_Fe54_to_n_Fe53_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe54_to_n_Fe53_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_removed) = drate_dT; - - } - rate_Fe53_to_n_Fe52_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe53_to_n_Fe52_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_removed) = drate_dT; - - } - rate_Fe56_to_n_Fe55_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe56_to_n_Fe55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_removed) = drate_dT; - - } - rate_Fe55_to_n_Fe54_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe55_to_n_Fe54_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_removed) = drate_dT; - - } - rate_Ni58_to_n_Ni57_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_n_Ni57_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_nse_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_nse_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_nse_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_nse_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_nse_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_nse_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Mn51); + } +#endif + rate_p_nse_Mn51_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Co55); + } +#endif + rate_p_nse_Co55_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_p_nse_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_p_nse_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_p_nse_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_n_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_p_nse_Fe56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_p_nse_Fe56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_p_nse_Fe56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_p_nse_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_p_nse_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_p_nse_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_He4_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Fe54); + } +#endif + rate_p_nse_Fe54_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_p_nse_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Fe56); + } +#endif + rate_p_nse_Fe56_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Co56); + } +#endif + rate_p_nse_Co56_to_n_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Ni58); + } +#endif + rate_p_nse_Ni58_to_He4_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_n_Fe53_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe54_to_n_Fe53_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_n_Fe52_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe53_to_n_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_n_Fe55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe56_to_n_Fe55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_n_Fe54_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe55_to_n_Fe54_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_n_Ni57_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_n_Ni57_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_n_Ni56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni57_to_n_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_removed) = drate_dT; + } } - rate_Ni57_to_n_Ni56_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni57_to_n_Ni56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/he-burn-28amnp/he-burn-28amnp-zoom.png b/networks/he-burn/he-burn-28amnp/he-burn-28amnp-zoom.png index 75a26ce4c5e49ce8c2b911769c1e7fd1c0c323f0..d2bb3cc7202d3bf46777012d2d2669760102b957 100644 GIT binary patch literal 54578 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

(Mo5a0`LF<>I3TBs~eyHH*l-@2wNL^mHz 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 literal 54452 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 diff --git a/networks/he-burn/he-burn-28amnp/he-burn-28amnp.png b/networks/he-burn/he-burn-28amnp/he-burn-28amnp.png index 44910c3f3b87656ab8e165b9cb09a198583df680..cfc58d8dbb4a471639634b76c17ea2286b51e020 100644 GIT binary patch literal 120767 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 <_c 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 O$(>X@k$n8p-~SCMqnvjD literal 121668 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 E0XtZLZU6uP diff --git a/networks/he-burn/he-burn-28amnp/pynucastro-info.txt b/networks/he-burn/he-burn-28amnp/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/he-burn-28amnp/pynucastro-info.txt +++ b/networks/he-burn/he-burn-28amnp/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/he-burn/he-burn-28amnp/reaclib_rates.H b/networks/he-burn/he-burn-28amnp/reaclib_rates.H index 951f04a3d..43dc0a980 100644 --- a/networks/he-burn/he-burn-28amnp/reaclib_rates.H +++ b/networks/he-burn/he-burn-28amnp/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -565,9 +664,13 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Mn51_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p_nse --> Fe52 @@ -597,9 +700,13 @@ void rate_p_nse_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_p_nse_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> Co55 @@ -629,9 +736,13 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.9219 + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -661,9 +772,13 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Co55_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p_nse --> Ni56 @@ -693,9 +808,13 @@ void rate_p_nse_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_p_nse_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -725,9 +844,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -757,9 +880,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -789,9 +916,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,7 +937,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -821,9 +952,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -838,7 +973,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -853,9 +988,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,7 +1009,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -885,9 +1024,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -902,7 +1045,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -917,9 +1060,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -934,7 +1081,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -949,9 +1096,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -966,9 +1117,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -983,9 +1138,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1000,7 +1159,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -1015,9 +1174,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1032,9 +1195,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1049,9 +1216,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1066,7 +1237,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -1081,9 +1252,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1098,9 +1273,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1115,9 +1294,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1132,7 +1315,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_nse_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_nse_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p_nse + Mn51 @@ -1147,9 +1330,13 @@ void rate_He4_Cr48_to_p_nse_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1164,7 +1351,7 @@ void rate_He4_Cr48_to_p_nse_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_nse_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_nse_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p_nse + Co55 @@ -1179,9 +1366,13 @@ void rate_He4_Fe52_to_p_nse_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1196,7 +1387,7 @@ void rate_He4_Fe52_to_p_nse_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1211,9 +1402,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1228,9 +1423,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1245,9 +1444,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1262,7 +1465,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -1277,9 +1480,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1294,9 +1501,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1311,9 +1522,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1328,7 +1543,7 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -1343,9 +1558,13 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1360,7 +1579,7 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1375,9 +1594,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1392,7 +1615,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1407,9 +1630,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1424,7 +1651,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1439,9 +1666,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1456,7 +1687,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Fe54_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p_nse --> Co55 @@ -1471,9 +1702,13 @@ void rate_p_nse_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 36.2304 + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1488,7 +1723,7 @@ void rate_p_nse_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> Ni58 @@ -1503,9 +1738,13 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.2478 + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1520,7 +1759,7 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Fe56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p_nse --> Co57 @@ -1535,9 +1774,13 @@ void rate_p_nse_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 36.0665 + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1552,7 +1795,7 @@ void rate_p_nse_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> Co56 @@ -1567,9 +1810,13 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.065 + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1584,7 +1831,7 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> Co57 @@ -1599,9 +1846,13 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.3552 + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1616,7 +1867,7 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Co57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p_nse --> Ni58 @@ -1631,9 +1882,13 @@ void rate_p_nse_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 36.0159 + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1648,7 +1903,7 @@ void rate_p_nse_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_p_nse_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_p_nse_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> p_nse + Fe54 @@ -1663,9 +1918,13 @@ void rate_He4_Mn51_to_p_nse_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 62.2777 + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1680,7 +1939,7 @@ void rate_He4_Mn51_to_p_nse_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_p_nse_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_p_nse_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> p_nse + Ni58 @@ -1695,9 +1954,13 @@ void rate_He4_Co55_to_p_nse_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 60.2281 + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1712,7 +1975,7 @@ void rate_He4_Co55_to_p_nse_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_p_nse_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_p_nse_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> p_nse + Fe56 @@ -1727,9 +1990,13 @@ void rate_n_Co56_to_p_nse_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 20.4539 + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1744,7 +2011,7 @@ void rate_n_Co56_to_p_nse_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_nse_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_nse_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p_nse --> He4 + Fe54 @@ -1759,9 +2026,13 @@ void rate_p_nse_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = -2.1962 + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1776,7 +2047,7 @@ void rate_p_nse_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_p_nse_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_p_nse_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> p_nse + Co56 @@ -1791,9 +2062,13 @@ void rate_n_Ni56_to_p_nse_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 15.5693 + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1808,7 +2083,7 @@ void rate_n_Ni56_to_p_nse_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -1823,9 +2098,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1840,7 +2119,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -1855,9 +2134,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1872,9 +2155,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1889,9 +2176,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1906,9 +2197,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1923,7 +2218,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -1938,9 +2233,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1955,9 +2254,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1972,9 +2275,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1989,9 +2296,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2006,7 +2317,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -2021,9 +2332,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2038,7 +2353,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -2053,9 +2368,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2070,9 +2389,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2087,9 +2410,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2104,7 +2431,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -2119,9 +2446,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2136,7 +2467,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -2151,9 +2482,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2168,7 +2503,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -2183,9 +2518,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2200,7 +2539,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -2215,9 +2554,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2232,7 +2575,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -2247,9 +2590,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2264,7 +2611,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -2279,9 +2626,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2296,7 +2647,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -2311,9 +2662,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2328,9 +2683,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2345,9 +2704,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2362,9 +2725,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2379,7 +2746,7 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> Fe53 @@ -2394,9 +2761,13 @@ void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8885 + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2411,7 +2782,7 @@ void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> Fe54 @@ -2426,9 +2797,13 @@ void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.4534 + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2443,7 +2818,7 @@ void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> Fe55 @@ -2458,9 +2833,13 @@ void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.80864 + 0.0591716 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -9.78317 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0591716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -9.78317 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2475,7 +2854,7 @@ void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> Fe56 @@ -2490,9 +2869,13 @@ void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7202 + -0.0955677 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 6.47093 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0955677 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 6.47093 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2507,7 +2890,7 @@ void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> Ni57 @@ -2522,9 +2905,13 @@ void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.0765 + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2539,7 +2926,7 @@ void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> Ni58 @@ -2554,9 +2941,13 @@ void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2731 + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2571,47 +2962,47 @@ void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + 1.5 He4 --> Ne20 (calls the underlying rate) - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p + p --> N14 + He4 (calls the underlying rate) - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -2885,402 +3276,1002 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; - - } - rate_p_nse_Mn51_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; - - } - rate_p_nse_Co55_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Co55_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_p_nse_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_p_nse_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; - - } - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_p_nse_Fe54_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Fe54_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; - - } - rate_p_nse_Fe56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Fe56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57_reaclib) = drate_dT; - - } - rate_n_Co55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; - - } - rate_n_Co56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; - - } - rate_p_nse_Co57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Co57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_p_nse_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54_reaclib) = drate_dT; - - } - rate_He4_Co55_to_p_nse_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58_reaclib) = drate_dT; - - } - rate_n_Co56_to_p_nse_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_p_nse_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_p_nse_Fe56_reaclib) = drate_dT; - - } - rate_p_nse_Co57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_n_Ni56_to_p_nse_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_p_nse_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_nse_Co56_reaclib) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_n_Fe52_to_Fe53_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed) = drate_dT; - - } - rate_n_Fe53_to_Fe54_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed) = drate_dT; - - } - rate_n_Fe54_to_Fe55_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed) = drate_dT; - - } - rate_n_Fe55_to_Fe56_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed) = drate_dT; - - } - rate_n_Ni56_to_Ni57_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed) = drate_dT; - - } - rate_n_Ni57_to_Ni58_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed) = drate_dT; - - } - rate_He4_N14_to_Ne20_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; - - } - rate_p_O16_to_N14_He4_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Mn51); + } +#endif + rate_p_nse_Mn51_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Co55); + } +#endif + rate_p_nse_Co55_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co55_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_nse_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_nse_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Fe54); + } +#endif + rate_p_nse_Fe54_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Fe54_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Fe56); + } +#endif + rate_p_nse_Fe56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Fe56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Co57); + } +#endif + rate_p_nse_Co57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_p_nse_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_p_nse_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_p_nse_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_p_nse_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_p_nse_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_nse_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_nse_Co57); + } +#endif + rate_p_nse_Co57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_p_nse_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_p_nse_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_nse_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_Fe53_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_Fe54_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_Fe55_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_Fe56_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_Ni57_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_Ni58_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_Ne20_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_N14_He4_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -3300,87 +4291,87 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + rate_Fe52_n_n_to_Fe54_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe52_n_n_to_Fe54_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe52_n_n_to_Fe54_approx) = drate_dT; - } + rate_Fe54_to_Fe52_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe54_to_Fe52_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe54_to_Fe52_n_n_approx) = drate_dT; - } + rate_Fe54_n_n_to_Fe56_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe54_n_n_to_Fe56_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe54_n_n_to_Fe56_approx) = drate_dT; - } + rate_Fe56_to_Fe54_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Fe56_to_Fe54_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Fe56_to_Fe54_n_n_approx) = drate_dT; - } + rate_Ni56_n_n_to_Ni58_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Ni56_n_n_to_Ni58_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni56_n_n_to_Ni58_approx) = drate_dT; - } + rate_Ni58_to_Ni56_n_n_approx(rate_eval, rho, Y, rate, drate_dT); rate_eval.screened_rates(k_Ni58_to_Ni56_n_n_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ni58_to_Ni56_n_n_approx) = drate_dT; - } + } #endif diff --git a/networks/he-burn/he-burn-33am/actual_network.H b/networks/he-burn/he-burn-33am/actual_network.H index 142dd65c7..acea5a0ff 100644 --- a/networks/he-burn/he-burn-33am/actual_network.H +++ b/networks/he-burn/he-burn-33am/actual_network.H @@ -462,6 +462,57 @@ namespace Rates NumRates = k_p_V47_to_He4_Ti44_removed }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_He4_Mg24 = 6, + k_p_Al27 = 7, + k_He4_Si28 = 8, + k_p_P31 = 9, + k_He4_Cr48 = 10, + k_p_Mn51 = 11, + k_He4_Mn51 = 12, + k_He4_Fe52 = 13, + k_p_Co55 = 14, + k_He4_Co55 = 15, + k_He4_Ni56 = 16, + k_p_Cu59 = 17, + k_C12_C12 = 18, + k_He4_N13 = 19, + k_C12_O16 = 20, + k_O16_O16 = 21, + k_He4_He4 = 22, + k_He4_Be8 = 23, + k_He4_N14 = 24, + k_p_O16 = 25, + k_p_Mn55 = 26, + k_He4_Fe53 = 27, + k_p_Fe54 = 28, + k_He4_Fe54 = 29, + k_p_Fe55 = 30, + k_p_Fe56 = 31, + k_p_Co56 = 32, + k_p_Co57 = 33, + k_p_Ni58 = 34, + k_He4_Fe55 = 35, + k_He4_Co56 = 36, + k_He4_Ni57 = 37, + k_He4_S32 = 38, + k_p_Cl35 = 39, + k_He4_Ar36 = 40, + k_p_K39 = 41, + k_He4_Ca40 = 42, + k_p_Sc43 = 43, + k_He4_Ti44 = 44, + k_p_V47 = 45, + NumScreenPairs = k_p_V47 + }; + // 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 // NetworkRates enum diff --git a/networks/he-burn/he-burn-33am/actual_rhs.H b/networks/he-burn/he-burn-33am/actual_rhs.H index cf0151a7b..9310af801 100644 --- a/networks/he-burn/he-burn-33am/actual_rhs.H +++ b/networks/he-burn/he-burn-33am/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,947 +64,494 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.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_Mn51_to_Fe52_reaclib); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.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_Co55_to_Ni56_reaclib); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib); - rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_derived); - rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_derived); - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni56) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 59.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_Cu59_to_Zn60_reaclib); - rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib); - rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu59) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_Ne20_modified); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified); - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.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_O16_to_N14_He4_modified); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified); - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { 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_reaclib); - rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = 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_v) { - 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; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn55) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 53.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib); - rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib); - rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_derived); - rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_derived); - rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.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_Fe55_to_Co56_reaclib); - rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe55_to_n_Co55_derived); - rate_eval.screened_rates(k_p_Fe55_to_n_Co55_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_derived); - rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe55) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.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_Fe56_to_Co57_reaclib); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe56) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.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_Co56_to_Ni57_reaclib); - rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived); - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_derived); - rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_derived); - rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_derived) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co56) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.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_Co57_to_Ni58_reaclib); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co57_to_n_Ni57_derived); - rate_eval.screened_rates(k_p_Co57_to_n_Ni57_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_derived); - rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni58) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib); - rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 55.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_derived); - rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_derived); - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_derived); - rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_derived); - rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 57.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_derived); - rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_derived); - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_removed); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/he-burn/he-burn-33am/derived_rates.H b/networks/he-burn/he-burn-33am/derived_rates.H index 186d08283..95916a7cb 100644 --- a/networks/he-burn/he-burn-33am/derived_rates.H +++ b/networks/he-burn/he-burn-33am/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_N13_to_p_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // N13 --> p + C12 @@ -49,13 +49,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.059128683693466 + -22.553277271250543 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.553277271250543 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -70,13 +70,13 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.45372868369347 + -26.331767271250545 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 26.331767271250545 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -91,7 +91,7 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 --> He4 + C12 @@ -128,13 +128,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.29694929711803 + -84.95157686791683 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.95157686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,13 +149,13 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.31554929711803 + -84.50314686791683 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.50314686791683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -170,7 +170,7 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 --> He4 + O16 @@ -205,12 +205,12 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex // ReacLib set derived from co10r ln_set_rate = 28.644822801502126 + -65.24608327101186 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 65.24608327101186 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -225,13 +225,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.662112801502126 + -54.887583271011856 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 54.887583271011856 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -246,13 +246,13 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.267592801502126 + -67.65188327101185 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.65188327101185 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -267,7 +267,7 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> p + Na23 @@ -303,13 +303,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.107544561463015 + -138.96838756220697 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 138.96838756220697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,12 +323,12 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 20.02229456146302 + -137.30028756220696 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 137.30028756220696 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -343,13 +343,13 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.95564456146302 + -135.68809756220696 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 135.68809756220696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -364,7 +364,7 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 --> He4 + Ne20 @@ -400,13 +400,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.022538839949377 + -120.89510873006793 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 120.89510873006793 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -420,12 +420,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = 26.803878839949377 + -117.33446873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 117.33446873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -439,12 +439,12 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from il10r ln_set_rate = -13.884691160050625 + -110.62025873006793 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 110.62025873006793 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -459,13 +459,13 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.32660883994937 + -108.11420873006793 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 108.11420873006793 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -480,7 +480,7 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> p + Al27 @@ -516,13 +516,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.796402252999236 + -136.3412367256539 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 136.3412367256539 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -537,13 +537,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.48620225299923 + -134.8245897256539 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.8245897256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -558,13 +558,13 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.569302252999236 + -134.4372767256539 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 134.4372767256539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -579,7 +579,7 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 --> He4 + Mg24 @@ -614,12 +614,12 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre // ReacLib set derived from st08r ln_set_rate = 32.902724006057724 + -131.4900751873663 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 131.4900751873663 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -634,13 +634,13 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.68644599394228 + -128.6942751873663 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 128.6942751873663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -655,7 +655,7 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> p + P31 @@ -691,13 +691,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.192389422303183 + -106.63906812813134 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 106.63906812813134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -711,12 +711,12 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R // ReacLib set derived from il10r ln_set_rate = 21.702443422303183 + -105.12160812813134 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 105.12160812813134 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -731,13 +731,13 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.630433422303184 + -102.86202812813134 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.86202812813134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,7 +752,7 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 --> He4 + Si28 @@ -788,13 +788,13 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.8147025119699 + -80.62419844573513 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 80.62419844573513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -809,7 +809,7 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> p + Mn51 @@ -845,13 +845,13 @@ void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.74743132228039 + -85.61663846070292 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.61663846070292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -866,7 +866,7 @@ void rate_Fe52_to_p_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe52 --> He4 + Cr48 @@ -902,13 +902,13 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.149113992515 + -92.09363997638769 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.09363997638769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -923,7 +923,7 @@ void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> He4 + Mn51 @@ -959,13 +959,13 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.61473213109255 + -95.29300562248025 * tfactors.T9i + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 95.29300562248025 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -980,7 +980,7 @@ void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -1016,13 +1016,13 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1037,7 +1037,7 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -1073,13 +1073,13 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1094,7 +1094,7 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu59_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cu59_to_He4_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cu59 --> He4 + Co55 @@ -1130,13 +1130,13 @@ void rate_Cu59_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.97354557942113 + -55.1611006026015 * tfactors.T9i + -94.1404 * tfactors.T913i + -2.62786 * tfactors.T913 + -2.12066 * tfactors.T9 + 0.237999 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 55.1611006026015 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * -2.62786 * tfactors.T923i + -2.12066 + (5.0/3.0) * 0.237999 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1151,7 +1151,7 @@ void rate_Cu59_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn60_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Zn60_to_p_Cu59_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Zn60 --> p + Cu59 @@ -1187,13 +1187,13 @@ void rate_Zn60_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.31218638341413 + -59.240729222177784 * tfactors.T9i + -39.9808 * tfactors.T913i + 1.17311 * tfactors.T913 + -2.90486 * tfactors.T9 + 0.339644 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.240729222177784 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 1.17311 * tfactors.T923i + -2.90486 + (5.0/3.0) * 0.339644 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1208,7 +1208,7 @@ void rate_Zn60_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn60_to_He4_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Zn60_to_He4_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Zn60 --> He4 + Ni56 @@ -1244,13 +1244,13 @@ void rate_Zn60_to_He4_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.06332792090964 + -31.2372260432927 * tfactors.T9i + -96.4898 * tfactors.T913i + 6.47209 * tfactors.T913 + -5.2029 * tfactors.T9 + 0.533391 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 31.2372260432927 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.4898 * tfactors.T943i + (1.0/3.0) * 6.47209 * tfactors.T923i + -5.2029 + (5.0/3.0) * 0.533391 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1265,7 +1265,7 @@ void rate_Zn60_to_He4_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // C12 --> 3 He4 @@ -1297,13 +1297,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.96090397991297 + -85.44440046993657 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.44440046993657 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1318,13 +1318,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.77825197991297 + -84.41994046993656 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 84.41994046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1339,13 +1339,13 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.398803979912973 + -88.54650046993656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 88.54650046993656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1360,7 +1360,7 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // O16 + p --> He4 + N13 @@ -1403,13 +1403,13 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.21642061342456 + -60.557329596678294 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 60.557329596678294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1424,7 +1424,7 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ne20 + He4 --> p + Na23 @@ -1466,13 +1466,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.360024278486355 + -29.889658832139027 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.889658832139027 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1487,13 +1487,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.24516522151364528 + -29.434918832139026 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 29.434918832139026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1508,13 +1508,13 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.202935721513644 + -27.573888832139026 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.573888832139026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1529,7 +1529,7 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mg24 + He4 --> p + Al27 @@ -1571,13 +1571,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.4280417530584835 + -22.818701538287602 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.818701538287602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1592,13 +1592,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.268451753058486 + -19.5392135382876 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 19.5392135382876 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1613,13 +1613,13 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.057448246941515 + -18.576201538287602 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 18.576201538287602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1634,7 +1634,7 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Si28 + He4 --> p + P31 @@ -1676,13 +1676,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.415669089666713 + -25.663579682396225 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.663579682396225 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1697,13 +1697,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.441669089666712 + -24.114989682396224 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 24.114989682396224 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1718,13 +1718,13 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.360230910333286 + -22.237829682396224 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.237829682396224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1739,7 +1739,7 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn51 + p --> He4 + Cr48 @@ -1781,13 +1781,13 @@ void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.71348267023461 + -6.47700151570639 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.47700151570639 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1802,7 +1802,7 @@ void rate_p_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -1844,13 +1844,13 @@ void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1865,7 +1865,7 @@ void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni56_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ni56_to_p_Cu59_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 + He4 --> p + Cu59 @@ -1907,13 +1907,13 @@ void rate_He4_Ni56_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.864958462504486 + -28.003503178913892 * tfactors.T9i + -39.9808 * tfactors.T913i + 13.6773 * tfactors.T913 + -3.76429 * tfactors.T9 + 0.438096 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 28.003503178913892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 13.6773 * tfactors.T923i + -3.76429 + (5.0/3.0) * 0.438096 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1928,7 +1928,7 @@ void rate_He4_Ni56_to_p_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_n_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe53_to_n_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe53 --> n + Fe52 @@ -1964,13 +1964,13 @@ void rate_Fe53_to_n_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.50789742709652 + -124.01421385132892 * tfactors.T9i + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 124.01421385132892 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1985,7 +1985,7 @@ void rate_Fe53_to_n_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_n_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe54_to_n_Fe53_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 --> n + Fe53 @@ -2021,13 +2021,13 @@ void rate_Fe54_to_n_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.23234536763494 + -155.25009527915816 * tfactors.T9i + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 155.25009527915816 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2042,7 +2042,7 @@ void rate_Fe54_to_n_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_n_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe55_to_n_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe55 --> n + Fe54 @@ -2078,13 +2078,13 @@ void rate_Fe55_to_n_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.50487677145662 + -107.84100838776591 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -8.28317 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 107.84100838776591 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -8.28317 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2099,7 +2099,7 @@ void rate_Fe55_to_n_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe56_to_n_Fe55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 --> n + Fe55 @@ -2135,13 +2135,13 @@ void rate_Fe56_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.806892234523204 + -130.0322634199283 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 7.97093 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 130.0322634199283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 7.97093 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2156,7 +2156,7 @@ void rate_Fe56_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_p_Mn55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Fe56_to_p_Mn55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 --> p + Mn55 @@ -2192,13 +2192,13 @@ void rate_Fe56_to_p_Mn55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.67886351114045 + -118.17566704462678 * tfactors.T9i + -36.1995 * tfactors.T913i + 1.15346 * tfactors.T913 + -1.94437 * tfactors.T9 + 0.218429 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 118.17566704462678 * 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; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2213,7 +2213,7 @@ void rate_Fe56_to_p_Mn55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 --> p + Fe54 @@ -2249,13 +2249,13 @@ void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.84851844810452 + -58.76958578644693 * tfactors.T9i + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 58.76958578644693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2270,7 +2270,7 @@ void rate_Co55_to_p_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 --> n + Co55 @@ -2306,13 +2306,13 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.647564333711024 + -116.994640839646 * tfactors.T9i + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 116.994640839646 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2327,7 +2327,7 @@ void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_p_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co56_to_p_Fe55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 --> p + Fe55 @@ -2363,13 +2363,13 @@ void rate_Co56_to_p_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.620466010358925 + -67.86404663834863 * tfactors.T9i + -37.1585 * tfactors.T913i + 1.66198 * tfactors.T913 + -1.60842 * tfactors.T9 + 0.148916 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.86404663834863 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1585 * tfactors.T943i + (1.0/3.0) * 1.66198 * tfactors.T923i + -1.60842 + (5.0/3.0) * 0.148916 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2384,7 +2384,7 @@ void rate_Co56_to_p_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> n + Co56 @@ -2420,13 +2420,13 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.17386809654295 + -132.01901045161702 * tfactors.T9i + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 132.01901045161702 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2441,7 +2441,7 @@ void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 --> p + Fe56 @@ -2477,13 +2477,13 @@ void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.68564187237867 + -69.94636137001572 * tfactors.T9i + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 69.94636137001572 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2498,7 +2498,7 @@ void rate_Co57_to_p_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni57_to_n_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 --> n + Ni56 @@ -2534,13 +2534,13 @@ void rate_Ni57_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.391039283996996 + -118.91983039605458 * tfactors.T9i + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 118.91983039605458 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2555,7 +2555,7 @@ void rate_Ni57_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_p_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni57_to_p_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 --> p + Co56 @@ -2591,13 +2591,13 @@ void rate_Ni57_to_p_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.10327899221158 + -85.08979333790236 * tfactors.T9i + -38.1094 * tfactors.T913i + 2.57091 * tfactors.T913 + -2.07795 * tfactors.T9 + 0.20757 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 85.08979333790236 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1094 * tfactors.T943i + (1.0/3.0) * 2.57091 * tfactors.T923i + -2.07795 + (5.0/3.0) * 0.20757 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2612,7 +2612,7 @@ void rate_Ni57_to_p_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni57_to_He4_Fe53_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 --> He4 + Fe53 @@ -2648,13 +2648,13 @@ void rate_Ni57_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 94.74134670763823 + -87.74658748798956 * tfactors.T9i + -91.7231 * tfactors.T913i + -10.1816 * tfactors.T913 + -0.0406303 * tfactors.T9 + 0.0345056 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.74658748798956 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * -10.1816 * tfactors.T923i + -0.0406303 + (5.0/3.0) * 0.0345056 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2669,7 +2669,7 @@ void rate_Ni57_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_n_Ni57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> n + Ni57 @@ -2705,13 +2705,13 @@ void rate_Ni58_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.36077897558323 + -141.76332431826057 * tfactors.T9i + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953 + 1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 141.76332431826057 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923 + 1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2726,7 +2726,7 @@ void rate_Ni58_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> p + Co57 @@ -2762,13 +2762,13 @@ void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.794489871251855 + -94.83410720454592 * tfactors.T9i + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.83410720454592 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2783,7 +2783,7 @@ void rate_Ni58_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 --> He4 + Fe54 @@ -2819,13 +2819,13 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.23428031558652 + -74.25981652709197 * tfactors.T9i + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 74.25981652709197 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2840,7 +2840,7 @@ void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu59_to_p_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cu59_to_p_Ni58_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cu59 --> p + Ni58 @@ -2876,13 +2876,13 @@ void rate_Cu59_to_p_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.97928371193912 + -39.67086986195644 * tfactors.T9i + -39.0526 * tfactors.T913i + 1.0436 * tfactors.T913 + -2.10834 * tfactors.T9 + 0.239559 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 39.67086986195644 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0526 * tfactors.T943i + (1.0/3.0) * 1.0436 * tfactors.T923i + -2.10834 + (5.0/3.0) * 0.239559 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2897,7 +2897,7 @@ void rate_Cu59_to_p_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn55_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Mn55_to_n_Fe55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Mn55 + p --> n + Fe55 @@ -2939,13 +2939,13 @@ void rate_p_Mn55_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 4.303018723382757 + -11.761028675301535 * tfactors.T9i + 7.03052 * tfactors.T913 + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 11.761028675301535 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.03052 * tfactors.T923i + 0.260509 + (5.0/3.0) * -0.0813397 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2960,7 +2960,7 @@ void rate_p_Mn55_to_n_Fe55_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe53_to_n_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe53 + He4 --> n + Ni56 @@ -3002,13 +3002,13 @@ void rate_He4_Fe53_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.207137423641244 + -31.17324290806502 * tfactors.T9i + 6.43259 * tfactors.T913 + 2.29591 * tfactors.T9 + -0.254724 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 31.17324290806502 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.43259 * tfactors.T923i + 2.29591 + (5.0/3.0) * -0.254724 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3023,7 +3023,7 @@ void rate_He4_Fe53_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + p --> He4 + Mn51 @@ -3065,13 +3065,13 @@ void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 65.35241368298804 + -36.52341983603332 * tfactors.T9i + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 36.52341983603332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3086,7 +3086,7 @@ void rate_p_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe54_to_n_Ni57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + He4 --> n + Ni57 @@ -3128,13 +3128,13 @@ void rate_He4_Fe54_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.633898659996703 + -67.50350779116859 * tfactors.T9i + 0.48562 * tfactors.T913 + -0.0249302 * tfactors.T9 + 0.0509605 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 67.50350779116859 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.48562 * tfactors.T923i + -0.0249302 + (5.0/3.0) * 0.0509605 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3149,7 +3149,7 @@ void rate_He4_Fe54_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe54 + He4 --> p + Co57 @@ -3191,13 +3191,13 @@ void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -1.404090444334669 + -20.574290677453938 * tfactors.T9i + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 20.574290677453938 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3212,7 +3212,7 @@ void rate_He4_Fe54_to_p_Co57_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe55_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Fe55_to_n_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe55 + p --> n + Co55 @@ -3254,13 +3254,13 @@ void rate_p_Fe55_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.4351983233521 + -49.13059420131897 * tfactors.T9i + -1.62382 * tfactors.T913 + 0.58115 * tfactors.T9 + -0.0537057 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 49.13059420131897 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.62382 * tfactors.T923i + 0.58115 + (5.0/3.0) * -0.0537057 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3275,7 +3275,7 @@ void rate_p_Fe55_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe55_to_n_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Fe55_to_n_Ni58_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe55 + He4 --> n + Ni58 @@ -3317,13 +3317,13 @@ void rate_He4_Fe55_to_n_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -4.711973544129908 + -33.64036346067392 * tfactors.T9i + 3.44996 * tfactors.T913 + 2.98226 * tfactors.T9 + -0.387699 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.64036346067392 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.44996 * tfactors.T923i + 2.98226 + (5.0/3.0) * -0.387699 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3338,7 +3338,7 @@ void rate_He4_Fe55_to_n_Ni58_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Fe56 + p --> n + Co56 @@ -3380,13 +3380,13 @@ void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.653426224164285 + -62.07264908160129 * tfactors.T9i + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 62.07264908160129 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3401,7 +3401,7 @@ void rate_p_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 + p --> n + Ni56 @@ -3443,13 +3443,13 @@ void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.374260291785419 + -33.830037058152215 * tfactors.T9i + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 33.830037058152215 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3464,7 +3464,7 @@ void rate_p_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co56_to_He4_Fe53_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 + p --> He4 + Fe53 @@ -3506,13 +3506,13 @@ void rate_p_Co56_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 56.029567715426666 + -2.6567941500871917 * tfactors.T9i + -91.7231 * tfactors.T913i + 10.052 * tfactors.T913 + -3.86332 * tfactors.T9 + 0.391105 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 2.6567941500871917 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * 10.052 * tfactors.T923i + -3.86332 + (5.0/3.0) * 0.391105 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3527,7 +3527,7 @@ void rate_p_Co56_to_He4_Fe53_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co56_to_n_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Co56_to_n_Cu59_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co56 + He4 --> n + Cu59 @@ -3569,13 +3569,13 @@ void rate_He4_Co56_to_n_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.911918754289905 + -61.8335402370445 * tfactors.T9i + -1.00882 * tfactors.T913 + 1.88993 * tfactors.T9 + -0.202319 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 61.8335402370445 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.00882 * tfactors.T923i + 1.88993 + (5.0/3.0) * -0.202319 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3590,7 +3590,7 @@ void rate_He4_Co56_to_n_Cu59_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co57_to_n_Ni57_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co57 + p --> n + Ni57 @@ -3632,13 +3632,13 @@ void rate_p_Co57_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.30298910433137 + -46.92921711371466 * tfactors.T9i + -1.13177 * tfactors.T913 + 0.56875 * tfactors.T9 + -0.0579913 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 46.92921711371466 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13177 * tfactors.T923i + 0.56875 + (5.0/3.0) * -0.0579913 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3653,7 +3653,7 @@ void rate_p_Co57_to_n_Ni57_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni57_to_n_Zn60_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ni57_to_n_Zn60_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni57 + He4 --> n + Zn60 @@ -3695,13 +3695,13 @@ void rate_He4_Ni57_to_n_Zn60_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 9.748611363087353 + -87.68260435279066 * tfactors.T9i + 5.43552 * tfactors.T913 + -1.25169 * tfactors.T9 + 0.148383 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 87.68260435279066 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.43552 * tfactors.T923i + -1.25169 + (5.0/3.0) * 0.148383 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3716,7 +3716,7 @@ void rate_He4_Ni57_to_n_Zn60_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni58 + p --> He4 + Co55 @@ -3758,13 +3758,13 @@ void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 63.596461867482006 + -15.490230740645051 * tfactors.T9i + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 15.490230740645051 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3779,7 +3779,7 @@ void rate_p_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // S32 + He4 --> p + Cl35 @@ -3821,13 +3821,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.8597847344696254 + -25.589703706656966 * tfactors.T9i + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 25.589703706656966 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3842,13 +3842,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.37716473446963 + -22.187684706656967 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 22.187684706656967 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3863,13 +3863,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.27223526553037 + -21.654753706656965 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 21.654753706656965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3884,13 +3884,13 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.4434452655303747 + -27.664513706656965 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 27.664513706656965 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3905,7 +3905,7 @@ void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> He4 + S32 @@ -3941,13 +3941,13 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.81807507159112 + -77.06468541928012 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 77.06468541928012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3962,7 +3962,7 @@ void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 --> p + Cl35 @@ -3997,12 +3997,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = -17.455589662878502 + -99.28409012589869 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.28409012589869 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4017,13 +4017,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7561103371215 + -98.71943912589869 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.71943912589869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4038,13 +4038,13 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.222320337121502 + -102.37035912589869 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 102.37035912589869 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4058,12 +4058,12 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: // ReacLib set derived from il10r ln_set_rate = 16.0363703371215 + -100.7293991258987 * tfactors.T9i; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.7293991258987 * tfactors.T9i * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4078,7 +4078,7 @@ void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ar36 + He4 --> p + K39 @@ -4120,13 +4120,13 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.654451232729432 + -14.951286608188834 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 14.951286608188834 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4141,7 +4141,7 @@ void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> He4 + Ar36 @@ -4177,13 +4177,13 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.28432125250924 + -81.69320665503751 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 81.69320665503751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4198,7 +4198,7 @@ void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 --> p + K39 @@ -4234,13 +4234,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.453572485239 + -101.86683326322635 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 101.86683326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4255,13 +4255,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.1725724852387 + -109.20919326322635 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 109.20919326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4276,13 +4276,13 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.32557248523868 + -98.30957326322635 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 98.30957326322635 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4297,7 +4297,7 @@ void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ca40 + He4 --> p + Sc43 @@ -4339,13 +4339,13 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.67546755788414 + -40.87525788838128 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 40.87525788838128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4360,7 +4360,7 @@ void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> He4 + Ca40 @@ -4396,13 +4396,13 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.7006646483486 + -59.49768581557457 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 59.49768581557457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4417,7 +4417,7 @@ void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ti44 --> p + Sc43 @@ -4453,13 +4453,13 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.61343220623275 + -100.37294370395585 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.37294370395585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4474,7 +4474,7 @@ void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> He4 + Ti44 @@ -4510,13 +4510,13 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.75906465832496 + -89.32364150067336 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 89.32364150067336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4531,7 +4531,7 @@ void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Cr48 --> p + V47 @@ -4567,13 +4567,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.75975303984967 + -100.08956223422913 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 100.08956223422913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4588,13 +4588,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.5429530398497 + -99.32517223422914 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 99.32517223422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4609,13 +4609,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.911453039849675 + -93.78359723422915 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 93.78359723422915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4630,13 +4630,13 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.64255303984967 + -94.54467623422914 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 94.54467623422914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4651,7 +4651,7 @@ void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // V47 + p --> He4 + Ti44 @@ -4693,13 +4693,13 @@ void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.63208838152472 + -6.086479266444236 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 6.086479266444236 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4729,414 +4729,836 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; - - } - rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; - - } - rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; - - } - rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; - - } - rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; - - } - rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; - - } - rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; - - } - rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; - - } - rate_Fe52_to_p_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_derived) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; - - } - rate_Co55_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; - - } - rate_Ni56_to_p_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; - - } - rate_Cu59_to_He4_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cu59_to_He4_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu59_to_He4_Co55_derived) = drate_dT; - - } - rate_Zn60_to_p_Cu59_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Zn60_to_p_Cu59_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn60_to_p_Cu59_derived) = drate_dT; - - } - rate_Zn60_to_He4_Ni56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Zn60_to_He4_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn60_to_He4_Ni56_derived) = drate_dT; - - } - rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; - - } - rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; - - } - rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = drate_dT; - - } - rate_p_Co55_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; - - } - rate_He4_Ni56_to_p_Cu59_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_derived) = drate_dT; - - } - rate_Fe53_to_n_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe53_to_n_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_derived) = drate_dT; - - } - rate_Fe54_to_n_Fe53_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe54_to_n_Fe53_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_derived) = drate_dT; - - } - rate_Fe55_to_n_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe55_to_n_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_derived) = drate_dT; - - } - rate_Fe56_to_n_Fe55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Fe56_to_n_Fe55_derived) = rate; - if constexpr (std::is_same_v) { - 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, pf_cache); - rate_eval.screened_rates(k_Fe56_to_p_Mn55_derived) = rate; - if constexpr (std::is_same_v) { - 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, pf_cache); - rate_eval.screened_rates(k_Co55_to_p_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_derived) = drate_dT; - - } - rate_Co56_to_n_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; - - } - rate_Co56_to_p_Fe55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co56_to_p_Fe55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_p_Fe55_derived) = drate_dT; - - } - rate_Co57_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; - - } - rate_Co57_to_p_Fe56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Co57_to_p_Fe56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_derived) = drate_dT; - - } - rate_Ni57_to_n_Ni56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni57_to_n_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_derived) = drate_dT; - - } - rate_Ni57_to_p_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni57_to_p_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_p_Co56_derived) = drate_dT; - - } - rate_Ni57_to_He4_Fe53_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni57_to_He4_Fe53_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_He4_Fe53_derived) = drate_dT; - - } - rate_Ni58_to_n_Ni57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_n_Ni57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_derived) = drate_dT; - - } - rate_Ni58_to_p_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_p_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_derived) = drate_dT; - - } - rate_Ni58_to_He4_Fe54_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; - - } - rate_Cu59_to_p_Ni58_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cu59_to_p_Ni58_derived) = rate; - if constexpr (std::is_same_v) { - 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, pf_cache); - rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_derived) = rate; - if constexpr (std::is_same_v) { - 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, pf_cache); - rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_derived) = drate_dT; - - } - rate_p_Fe54_to_He4_Mn51_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = drate_dT; - - } - rate_He4_Fe54_to_n_Ni57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_derived) = drate_dT; - - } - rate_He4_Fe54_to_p_Co57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = drate_dT; - - } - rate_p_Fe55_to_n_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Fe55_to_n_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_derived) = drate_dT; - - } - rate_He4_Fe55_to_n_Ni58_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_derived) = drate_dT; - - } - rate_p_Fe56_to_n_Co56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = drate_dT; - - } - rate_p_Co56_to_n_Ni56_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = drate_dT; - - } - rate_p_Co56_to_He4_Fe53_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_derived) = drate_dT; - - } - rate_He4_Co56_to_n_Cu59_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_derived) = drate_dT; - - } - rate_p_Co57_to_n_Ni57_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co57_to_n_Ni57_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_derived) = drate_dT; - - } - rate_He4_Ni57_to_n_Zn60_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_derived) = drate_dT; - - } - rate_p_Ni58_to_He4_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; - - } - rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; - - } - rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; - - } - rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; - - } - rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; - - } - rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu59_to_He4_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cu59_to_He4_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu59_to_He4_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn60_to_p_Cu59_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Zn60_to_p_Cu59_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn60_to_p_Cu59_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn60_to_He4_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Zn60_to_He4_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn60_to_He4_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni56); + } +#endif + rate_He4_Ni56_to_p_Cu59_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_n_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe53_to_n_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_n_Fe53_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe54_to_n_Fe53_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_n_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe55_to_n_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_n_Fe55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe56_to_n_Fe55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_p_Mn55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Fe56_to_p_Mn55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_p_Mn55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_p_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co55_to_p_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_n_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_p_Fe55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co56_to_p_Fe55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_p_Fe55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_p_Fe56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Co57_to_p_Fe56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_n_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni57_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_p_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni57_to_p_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_p_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_He4_Fe53_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni57_to_He4_Fe53_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_He4_Fe53_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_n_Ni57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_n_Ni57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_p_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_p_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_He4_Fe54_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu59_to_p_Ni58_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cu59_to_p_Ni58_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu59_to_p_Ni58_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn55); + } +#endif + rate_p_Mn55_to_n_Fe55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn55_to_n_Fe55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_n_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_He4_Mn51_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_n_Ni57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_p_Co57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe55); + } +#endif + rate_p_Fe55_to_n_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Fe55_to_n_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe55); + } +#endif + rate_He4_Fe55_to_n_Ni58_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_n_Co56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Fe56_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_n_Ni56_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co56_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_He4_Fe53_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co56); + } +#endif + rate_He4_Co56_to_n_Cu59_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_n_Ni57_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co57_to_n_Ni57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni57); + } +#endif + rate_He4_Ni57_to_n_Zn60_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_He4_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_derived) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + } } - rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; - } } #endif diff --git a/networks/he-burn/he-burn-33am/he-burn-33am-zoom.png b/networks/he-burn/he-burn-33am/he-burn-33am-zoom.png index 5652cf4784362342bfc2cc4397a024615f8076c8..5f52d7789a125381578ed3e1ebae773417193cad 100644 GIT binary patch literal 90877 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 MNmH@pmU-a+1*}=`G5`Po literal 94860 zcmeFZbyQW+*EV`+kVZus1w=tWx=W>`R8YDUq&p5>qJo4-cL|6{bLc#DA4EJ;4XN!a+(e>81Z}P2ko~+mKh8U274*>?5#`U=9II` z+o9pMy`9KII^nbztEnndKRE6m+p`QNtgRc~DD@%4XH`2K-wo6alz-CL2r$}{_LGuU*ef+;M z)&Fx7daer*SXk%c@^Z1&1V7pB+b`wh?(^|Q{rt&5fQ{kn>)YJYLP}5nY6X?FHjs(` z{{8!FB2BQ$8R&jZbGD}~rnkm`8swKTW2U5F|JzX)4bDb6#h)*G$!6dBBV^@xkBNbTxywcpQur#6O& zR@jA|AG+#xrjd3>nZ70)xp7Z?%jOuOXktrmZP1e6VXJh6+j>&4+xVUQH{c03kH^%C zw*=PK)-DfHZj5@9#l+X@Ek^Q1FE$ZUva%N$-q7t9`puc<@3FA3i0&dW#1%^HqJN2= z&iWY{8J$`ZKo=MShj!X-4`UQPUrnbGc5GiU+?uIRX`^!w2F{xj`Vjc8N^-bWwknao zU$$yiczC#qiQ)Db!hdZrYh=s?^6kt>ONFHKqY-^ggt1amXtilSLo|o3*2+R)KtOx8 zQb*a}xWhxoY0neg`Va}vbH`!?;)=fxyhEZJG%`-io&W6Y%!^urhbLmE{$|={0c^VV zY}p_Zg`~%i9~)d>p20lM*RmE@Ru*gp+dDem?=N<=S)Tk#@xG4RTWGVmf;MON?M}fA zWj39PA2l_iBYU1FQ?g+FzHIz4KZy$HVq_rjC$IR`*x*27C!mk--{WRY>-Ln{-$=xxgD-H*wkMw3#-vuUqyz8Kex8d z-#GQfp}Wt>=r=m5q35wD4d0pW*`BJ-vBZ&6P%u2*o$HR}!U$?Xmz0!*G0Fu0-dh&T z&dxS6F}Y1ixwhoY3hq6h{mdlG7!kMJlW-wIAoM*+#MzA|#yZ7ov7J;cPfOavL$um? zC%>5XJ{MP5G`lvp%dWxo=>jnfo0v{fON$EJkM8PK0)Gg2!S_WPf;%+_g<5%+hl8&m zBj;OyC0-rO3hkY#hL&iY%90ZABUvGEQCr}G#WpkI-u_Hc?VX+WwM0Zj%uGzpN9SOy z3Gl#oWifot+d3$*6P=O0(IUe*0UNzc!|#+lUmF{rZ`Ypa8KV+AoJMq4!gMSy;Lw`k z6T*$%kv?c1mwRoFYXe^*Bkv@8otu3nplk%M2mJi^VKUg9fq{WKZR4{U)_3mRtJag1 zl|A^Y`U=f}m+B079oWOEt_RCeWidw=JM|75dF2BoW~#Q)q+%zN4vFw_v%9U6r55*6 zJdY`1IK*^|;R+mc!8|B~sVb+tAIQKg_M)&8EK{7PUGqn3-A|0cbV{ryq6_M;-Sc3Qky-$$m8(z3FHl@2Dr#(!#zJ0n?)K7Opco~ZZsPHJ`e zv%l;Y;IM-F2z(%zPOPevj0~1Dv~IU)E67PT^aDSo zgIEjjZrx(w<{ns(*sFzNNnQb;#V`p8iO-lN2qS!tCSSFEr>*_3v0yEi9ryaWY7Dk^y|FR#3d;)$(%?g!OVUe7&w%?3Wl#>Q&3 zK@M&&O2|JZZaWKGXbXJ=+?iP^o)h?)TCT>k2xg^A+W1IAUaGaf*|(_$tPkbAOO?h& zoVPcl1fiVyy=~T3kmj1GQ6EHtZ-IdfPo5||d?80$lx zLXV?+IH8ioQG2KYcJP~(1tJPgAF#rI&nlo7H&+D_v(t!sZ`3f9l$u)G#83-8o%67& z5Y-B;GfQUXP03-3J_z0Z9TATr;^Ni@?E*0v1pAh5u1SlR|a1kz?EE8?mRNi7BVwsToeS@ zDb4qxdGbG;kT1Jpefl&MIIn-D!-`w!jKWi^2KI7-2TY6n9IgkiuEl@6TPnT%wPZ#A zp5w{-DHz7^+gSUO9hk$P&Mn~Paz%pIX1eD1swG}y_%mVTsuN) z3>;vD3U&P0a5ud6Jz@+v`9q28Q$~y7-0Wjd8OB5>HMU=HlK#$s1_PuKC#RW|j?BUF{q)pD*m+yAH(8U{x+a;uLz8XPt$oP912-m-TsA>QU~hZgAo<40{fiyC zlFagy#OGr-0~K&<4@v0e5t0vfh0mgCrnQTMhPhZAEsFg6kk9wo9vIy{%+%fVPrMo+ zW4#!pGv(i(O7dHs=I*3#fKtv&MZO7pGF)s_t0nJ%Fmn{ogv~>4CSpW~%v(8*Jj3YS ziDNv1wYS{vR=km-cg!3)BtI05SDyArXd+euyl0@ylIX~b$cx*Gkm7=0SXjRF@{cVH zEFF_>@$H_le*kZLm)QSHz{J_SySUlW`qGw>-!$OM@-_=;W7Kh_9-$J`pP|>6inQ!{`Rmb{^aIS;;K*&HHEi=(^gg|u?KM5J z_Kv}X%=^o|K2C;DJ^5vi>Sh`zg2LC&3Bkbjm%uF&-*SkhizOux|I#$#>`(K}hvWRv zHp0q93Y%E?9w>ez?|;DN<$}qThL&Fzv%EdqQh9e|1uCkuiNKV@xzLh)9*=Coi+ZH= z-r&Zap`j%9t9>j}gB+$O*!e|&JPZv^HIw?0W7YaI>2k(7;c8b8xJ*VG*wBwCBY1qb zF=BD?f`6q7QdFlehPugElN#W_Vd<<}4;Tb}9!B^N3Ntqk9j^t}itY}56?VS|EtdUj zFgQ+d}5r$5m9Psr%%$P%-~>ccg~D`_+hzF(cnqKQR1N-I;0pEtTiWWZ;;sb!ho-+tnp z)T2rJLD$NAyL+~n(wk)t7%Xf-1x!0_8!3h~nx##}o6>4_(Z&B`C^9LxW1iGk zrfC<_O{f~bo=#~Q9f|o+%KC5MAC|G`2n~w9+k&^#`z4J6++Wsv1QF)+5Lu$DspXUt zTd(&%%qn-JeMHmwaq&se;}Q)|vRbgdydL0n?{MOA_UE~NmfiT}r-@SMNqQ1VGqbUP znjJ^m)@41RWic2nkzOSK&yxayC$Xf8ao+K3kWA-1kr9wq6Zz7@zcRcP^k-_qA?9fQ zIE_}P&A&K^LfGj++!=X+EEK8;6T+>8q!nT40XEA*)wK^R9pM*E=DpS!ibD0#^& z!s6j3?^hM@g(7uVO9Q}$$(REUkQES(G=;^>VpnSgSrP3A<|5H%W2lZ?dfQ!+YkpU6 z2v+xX2ABnnriAUZR6v6sK!biv_!x}y5gnLL#fNWs@ZtZ~+&bzpDK{CvTdSK;x1wzs z?B>LU=Wkzg2Lai@2(kegz7DQr!su)DoStplVeKrmn;g3W^+Ssu?UBQV+3t#JnN2frC8gBt#e(Q5v~thl zuk_dAt072eobSJJ1_m^+q%JnBRaiI=zK`ha!tL!^S)Due(-NO&Vd*(D?)9U{l_w{z z51`7=Ob%M!b$UtFpD!@DqT;5foiiNA>Qa0dA5FTqG0$CI_i;9UQp_*&MvXOhKNPXJ zTMAi_4YJ@zY-?Dmdyrfxk2}$d5Pi5uy&7Y)w12V7zU|NF=sH%tSH(%{_cnjOtB1^I z`xuyS^i1+enemCff3PS%02?&WH}j7kr}-L_i-~?Z{s=F)bn8LeKHnMFI)RXcqZr_>EtI|! zXsdTufWNZy;S{3nxO~izM1*0T5NB%RpWJ#ZVI#lPO04dh37zS(y#XlEN5A@I%!rA% zuhvZt{;bFW?tZthBc$1>{ zrDMJ!NUDPGf*a9ji8DEs8!i^|L@PDLm_hIG%0U$Gcn*Myt}UN1>!sl-j<_jom);G= zI!`P8{PmGer6(_R8kM5qAsGrn z&j;>i*=@`o=PxXFqkpX{3CQ&b8fgRddRP@WBR4lOAr)7QN$K(uh>b<`J#k&?yBBUa zHc_4{j`pA zu^zRvE{tM(YA7GVI&8&~iI_mZX8yi?MKKEXaPEu+knSpr*hef!}1KD>*T3b`{knJ|G4F`f#@%w?E5;>mh`>B zRY${erDi0$m``X!&>0+&E1RUGoL7-CI_&3Id{9E^wb6uvb+wH+)RvWw5J_W6|KhqEObo*d7KWTFFMNPqCWZNpas~h>)q-@%P=B`RU+HOL+49|xh_3+ zNIrEx^wy;%syIM6c_57Id)uHiGY%eRuc(f$6o7}{Y-Ib&W=Bj#IQ@$8$J)VTVSyln zYm66oguK2ybKa*3As&Y-)+wRTrg)^>QP$2Cm$byxSNdf|M!=nC-v@oxPxxDgRXQiR zxM*U#0U~E>jlO(;nf{v-Hv}d8O$@gRTd2YfU}O-4ImFFxMdl7n(XI%^U>w#Ohc&Rd z8hvhq?+-3N+HEYDSU2*3HWDS+5N#hZtt-$b5E&G=K_WyZuC`2Tc3`jREAj{Y!U;m!gAD4JYs&t>D*k&Hz%8_gRxG} z$(yCG!a>h~;l95DhAXA;#e3bcd3+pciNvl^%_7CZi9cItm~*sVo>sfACd8@SiWqXD z@(1tn7QiKPrG%JnBnI4MWCr%7#^iSZ=;3o$a%xyPp+{zUTHy1bR;2{&vWz`sZzm5_ z1S4h;!Y`1TrTj)MC9ILPWAYf3fSI4&O{$xx5?y}Emd<@9B$P|+Ja*D zG!D9cjqtF=l$V5bQSZ~!g7(0kZP+lz#=0mgC>&O9qdqv6|H>~5!6_CzDb3W#lZO)D zr8Jmeh!T3RqYdR+f7O~n^ufESUh9~6S3_?O5k{0#Vr+C*d(6EzrbXxM%)kd!|2-%O z2L+DEB)8Y~cB%?TzqXj;lwovTl27HRr=X5ZN}XtTM6{5F*+K0rY{%M);C-@Kfw3Pg z!jXzG%gNR9*6<$ddg9XpkA*P>cl)-&@A(Tagro^P%^t|wvwH=-1a0(9O~2TghDr}Ifw@oPffa7UMM&iQ zndj*8v?CBn1;%GiaO&B7(j=GjdAj_C#OF^K_4JyjgGK9G0UBoi2UL9ajZ_#b7$o<$ zraSu0oqy=QCdhy}TvF(NqsA#+SbE}aXiIlb!!p>_>6-%&9q^nz2=gtq$0w2B0EwR) zzfg>??QGovdE+#2vpNy)oWBv&Kxq^K2NVGQYI?J5_mSEdANjbZ+}Sedt%JCQjpQ~U*kZ0%oxtc_-RUhcQalH zTTZ^$sV<&y@#2Xf@r(I{-JvZEE@}nzQXv|hlLmROiTL%MKByv<2l39F{Z0j$kMc*l zXh*^Od^xaoH1Q)tkL2^xpe6t6Ugo~H`y(^kK6r@X{i$=m|9Ttp(X7Y^Bpv8Fw<=1Spr^mYAkUU3MgbDgw)Q=;*)wi(>wx-iX_pXe~)*i?M57FWh z1h9O)-)_w2rsdC{KLNG`z>H!l=Kz{6npvk}{Gcwj8}(w9m%wln$oZQPfND61*5Yr+_vre~)F5OV2||1qMG19lm}T4iA1} z!7{oTm>IWSe;Ql7Xz*$uOnu^B&WT8QlE1G1fkxI{1;`e$#$|j6c0E2~mt^#ykb2^Z zE*Vf1^%uPqjOU`L^3ti1FPW1$WwmYk)LfUticj(6XYU(M+8u zbgV6(z{AB&H5>c|&|nDtsdC;?_9vp{)dmG?7AACvZ^_w2g1tPvB^KDSJpF7xmnZ~w zdzZAYwct&3Ok{M|U7l+u1X62G$I%p)b1f7oiCB5sNJE6vw@yTlI~+J5til$J_zWH}5uhIH@>DXhV% z8%HJ@=F03(A9+#^rdMtVK6v1(uIKs%z)QpClK}y^*4115D3Kk}9>*YXQhUia!Jy~N z-xnf@=r0||ku>(=dYEDrgCTNB_1@KUqLt?0a$&{_8~LGVw_ldtu2<~juW&y$z-{M- z)b*EAZZ030nH}XM>w+Xk4V{*)_P!A!uSPeC)OLjC%?XLQ2YEPdtzy*7kKlGG$aj6b z9)9aJ;TGU@!OEfPG7;A!ceP*$-`wrN`BGTOne4hu>2|Wc6>$v(r)S{!Z?zYP!Tny* z0|L*BNJRbPpdfXjEscdB>lZhbpk?1(s9O%ENdapeJfT!W3gpmiV2!X99FE~T%a zd;a7m3lkKprCYMeUoI@ujMmd34oob&QB3_<;Evx`@O5*70qsOM*(2)05=}0 z0Dx7-wGd0EoLYfi4|um6tK`gNe5`y-@eI{LTlMfQTV&ei^LT0WZhP_9YZCkkAz(wQ znR?Iq;N(syT zz2BHnczAe+J2Umz43M)cg-c}!4D%*?Gba{)AMg7>3k=AKayZl7(5 z`5z<})L|4~k<&`r+uLUn3mO|4!EFB*&EQW=&kRBZAa??Tf;3Cb@6w9E9j8=vbh-gj zD|Y>aodMQ z3k}KRw=>P|ve#4W;j0?N5&r_Y^Llf>Y0UU9g9W9cyIPr*(F9 z<&+QuPdU$j78B-iwiJ`AUH*M2M_qm6d?m#@IV;6$e8uh?&BPM&CV=2&gC(y)X-uw? z{e6UwT2UIZ0O=%YSTAK#s`aD<;Q9ZPi_mqNqW3yYvp7g7wHPV3Uy>j3G)ZzI2O-*T z!{umw2x8|jF)=v-kw@ow_y$A^Y?Lme`|)N6);%3$YY4Si>r)Pniv_Y@q_(9rIV14ucJ*GwgIq(HB>s*|{en%~mk{BSLQVPHQJ5JY5TWQ{>j>sIY* z$1IsyShBUaz*&YD69D{r)o^w*Gqc0B!L}h|fc+L5;n~!kF-uEJ$0{<1x_|og3E;JV zG6ce^;2gUT(|q0WcqxlU<=110m+th}y{vG+KiTlDn(2PX%Gzn+d6%3#JTXxxt+s?| zX|IibWp}QLZiO|W<=7Z1_?)sEm?u^e9f-hw-#4v3TTWOTFMSd!es20jN;|`g3%wle zMz*&?Zg{K9F=;F;{zc3(DY6=gaH7*ZSnk2Y$3HMjI-IU`FVbM+wHhyZ-XZsKeqq6r z9Mrl2Px(fTL>L%8C5yScm4HCh|NBk)tu2P5L6X!bzRO#fII)k}%Ft|iXFfH}Aq`G% z%b^PonZ3pK^949GzvbvGf(wM`Sin<)E!JqjS?GFT+}PL%oC^mKmuwn^$c1y|r1fJ9 zfXdIa1G|w62`OUIWvJ`i$vL61E45bY_$Ax*cxChWuW;xeg%}QTr7|?}>r=zx;$jK` zYZ`W~lKX(o$;e=;JDtZ5-OwsEm)6jTeFep%y}SP()bsbm;%$s;bWe8$ZfuC_u0e>?)xX99piOk<9*D z9C#-`op%r*?6fX*vOTroF}WWs!w5D(U40XvM1|giBy*WhZA%V}@tfp?%o${v7JiXJ zEDgPtH@c4f(oW*Wu722rKkW=}as@y=GfxOctbcjw(_yIo(x(SU0l;DC$HF0|qlNEF z06(qV#@1!TZFhAva$yCX!fZgERC!v0^%a2srZn4n_;u~(&iN|E_!=7EoCLNCAXj$5`qKRLTfxb4j~t}3qgJW=KFUf>Vp>y(3Hsr)O*r7~DFv)`lD^~h)xE$0 z0YLvB3GD(f!7#UUAx>-`@;43nY9NnUzvr?gIn73;S8Z2qtd11uCxw{s`P-*%X%yeG z8miC&q1g){d@2Q#w=f6G!d9vVCRFSb3&gQce{#&Y@fvD+Rn%9;P#)IGJv6ZRoVoM{Ilr8sIY*)B6COy*y?EWRbj>yn%USF zN#@-+eFh#7#c4&NPiDMR8vJkoSYtkl&zjFZ&Vie}j@PF0L8GNYdyiB{HBWl0sHmKtt)#?>ICK0 z7=Acy1HZLlU&7SX8@=Au50?ag$J}1fcYq(vL|w2>TJRz-1da`jMvV2mA)c--71B!l z)z-(biHNg#?{5A*r_@Oi*N!UHJwMzm3z>VJLOJ(6Z_^YKdx72z>gaH z+y+4lvPOKLstm)?Fq9mK#6EYJ+D0jFN@&e0mU*M+V|}=yeGG!Gn>b%;T;8BP}yO9_p24=(OyjTJlBcXeXk;X=h{)-=UnxY5Kdc3%D~w zDFi<0i4dE<(D)Gti?}G*NZVvs$(ivns+U%$%;`bZuxIBlbfa6u>2fNRqF420uX!o9 z23CK7n^%P@E6o@!6Mpe;o1Jj>O<+6>q2PYx1-BEf7ZAuYZ-I6;Ye8j?0wNf7@}YP$Cy-T^chO?LKj&r$@~Do zwBo#p-<2jsEU#^*o-w1e76wnCQ~ytZw(;WLMq8!4x74py98x_M7koYgUSKTY&6%-4 zRFAcdP#=bWy3v}1zk`ejZy_$C2$oK2kay6jW55qXGiJo6qgdw}lfr~m-D zW}MbI1c#<;pxg&EkI>W2o3X9uIe9WGIB?77^>9N|a!Ps2*o!$?oFAIAw)r~6sIgB7 zncC0&ri&XBINZe+x78=UUd1JzoO9=@{kyBgzq`7@OhDQRAb>yhi?R8K4=bT4t#8g& ze_aE-1)s6H;`Zz>(r1$rtjVveg(C8Mx@_n^qBHmq&9afQl*M&Cx%FU%ETF|4R_w!+ zs+1{W?By~Tr{k!lFtYdkg;3(b`iEQW!?#8NO!}7(gnYtICZt?BIRyLa5YyMK%+ml&vZZV)BOF-@8R@H{tgN;f|Eo# zDoYhM!4iIZCS`Eiot}1+=B}U)_P31yd%T9QlV@hc1TCPHe9YE2q-9j9s$q#imXs60 zdnXgm{&C-3PWSF{?X4f$cd$RB;fIb59>km&&;I~Gb!6`IuS&Xd#&skr29v-6Y+P*rVi|>cam;X6d(te}>{H0M0U=RT1L;(p}&T z9nNDJL#ZP~)wX}neDK{v-kD`gWmIBl;-Z>V-&E{!syoLP^cwI0$b8Lds9yepM^H$A z0SEKi>+eseeZUzu3fd`hMMx}I$#*=b((z3qlMs8VT?vU+X9faEPFp_Mp3>AuZle1S z5fHkRt!4uqrUCht#%uDlWL(JRT!o*m{qW@>m{}CSj|U8<2tJeEyZt=wr2&}^qFf(c z`rV{&QKWLi4sims~_tJ#!#p@j6uwtCdhXUmRO6tN8*y(35 zk{xy!d@z|T&cZ%Yi8<@ew_c>4^VqA_8Mk3MoZg*icKRv*Zp$A}y(&paxTWRZm=r8lU%!LcR}LExo<)ouHIuZOFl$QOsE#4QSVxZxLeWQ z?rik;zkT-uyj1MsfM4%|y#b#Kc)SaUX7(x-B&O0Xwmvx=l=oXo9p*2oh6G3GF?{Jj z-1>}JVUo^+A802?gS0o01-GK2><;f>6fLXq-YS<$zHrSMVE`vXfaA1xH0mx)rf06O z+0LiYq@I2@_TBIYG}$|AxVwXW8DjrD>GnDwEAKyAUpmtL9x6`3`C#>if0!F$$OXW9 zKMI+X%(}&gqI4x+VcR7$DA#8c<*N0qqX@xf_%xYG?<%ck3CAg<({O$+=8qMpDe8*3 zMO7()eQti_wS9frd=3OXEC9f7f4M-xhsqXuq_dzSq4+eaPp2GNMt z$~2Vq3{mWwigim=Pd-44d~d%B4v}G;nRexWF;87RuC^uADQ$C|{TVokax8F?2<2C) z`Y%HqY~!d*{;~F#gt>bbpCA3Y%Sq+~!gRh`P>*t5%dJf`^1p78uWV?MqscwGZQ9`o z%A<9%6@n`8Ry`o@3$X}UBx<`13s#%>T9jRUxZ)zk{rMsSuw;21Ab8M^n8U08ii{jB zb=KwSv{errP;gm=@nl25k~n0P%OpN|@b_)@pUFm5$`67zN$v zBemK-ueI8~et0~nRXl$Sx#HtYHlM|@-7v){T={*_A&`RKiqzi$Kh!nlzt<>F4JicU zeWJRcV~L1RH^MqbKe(ir`4))Dft9M8&Z(X=HFuw}9Jd`-cRX%NoHFr+WyQ&f)@1n} zkH`84BI9LuE1;znas}j{P_`26lc|1wtE;yB+UD^i$rrgV>WBh#syWl7d2gD~lS|kip|PcN zxtx+a=Fpt808zSt`fGn#pcvv{*h{tYUmPP8q|kjW&{hW;uSkAljCwQ8Xv*x@jmXkY z)e5Cd3nQauwYP}!y_|&%+= zY&H#yeGi6o?)Pk@Cr@Q_%}jFrfT?!G^5abI&ap0ADgUF52MVEgdx%+Wp16?UhCR_Rj|^ZAocn_|{Ye%5lJ3vZl`!KcB?bl@0uu|!(Jwr>?MKMN zy1fk^r=c<1dbzlo9?KZB&n!gjfpwdMh|W$KrCw$w1O z1yPgo@+@PK7=Ditlk{?{JFWD@#EcB1o96EG7wk2)k2_2Z0|VrmfL?Ji(w?+0Jis30 z1I1dy#+WL8vs?wa^U40vcSY`T}fc(`MsU|;5-eeUcb>}Kh5UxAMD*&uhd6H22d z;^x8{0TIMu=YW80XIY_1#b`idM(^3CM|;=>Lua$MUYhPpBsy#`;w7P5KG16YCZ!Y;3c!=bKf=wTqg^o`^PuL@TrF-2o{jkAu${qeF|{WId&Y6 zwHGEyHbSal7ywt4ipfslcwF|rXxujssV^SdXvxogbN%3u#?clt#V_PqMzUBAi#7`x!ffAA((4EfCg!8#XMfqj*aAVuCiGMmN zp)XK``ItoXk0gC#7INTbkOburD<4uAFUvvU&lck>9vgs$U0EpV8IP`--}md5Cam zI$1G`eKftkZ7w4wc(wwk^NG>U$f?uybQK%Z5*H>}fMV<$XzsDAx{I6XWcj;|Z5MTz zE=je^yGyjoz&TS%?)-w2C?M0$g+#{hB5A9m-J$NBs6Bt*TEFV2zQuG^8FA+OyP8`% zoSrP+I}+rT{+Lj9YV94$#?QAgCOFMfNkb8KjdIzIESC1~w?o)PY7V$LMK#1%KuzwhLK2D<< zUDT_f-vr>0&qX0mH~*xlRFSg7SfW)^H3ow{fB+9^>DX&c-_B-RciwV_%h&V@u%i?@_Vm-E>j#)Pke_l?ArcYXE)MU> zHm=TRQ%EZaeUj~x5fdUR4vEy0H7i-8lfwLXD<}S6Ny&}uORpSI%*GsJYyWxNKikVk z^yN!3q5YB!MF1ES=q+gktHOHKtsPK~)lMu2un(@!j2Xd_pE0ekQxiBoY`3)Up~Il* zDHoIwWpnVF-7TnCeNFy~PWf#>b>vE=e%ZnLCt9x%KscKN#Y;e>UHrj~%&g=6fFDRx zOQMy~TYeY`Q@$Oh=~n5qG@ZwjpO=!u_TC+P^!V`e5)uE|_n3;ql`N<*{m+>#?%etE zPE1zoTmulVB(~0N6N?tyBsU`@td1;n01Utb!f{409a3&(gJ^W~4NV6kO#RNM7W3l@ zZVut3%SPVNGGAJ1u2fIUFM596GTRix{aIn^`t-BBiZXt(*)qy$Lz=2}RHKU{xC+u= zu!|SNNK1lm!Am_0Ed@e74$A*|!a4v=8I}mJ@-Y}R(`~9@j)WK>|yq?SLL@jO*XFD@&g9It2-` zSR)9{EtLpZL|cA1EP*&0h^cZ5#{(te6#t)6ylD#siksykO$Y(|$JKoWb^z6Q z1R|Nr!}R{<=Jz*D^{YfgbXGFT?;o3u6?ezADIxUGq(BlxLcRqK)<6>Jo%79Ok0MGjs_-* ztFsBo3%Xbq2Lx`IgmU)7!zxdR(<~f%Q_SGiNuYlQqP78r*Gbi*=l}I9w{bTGN6qf@ z@iHszjZn9^IcW>`7B93lP89gR2$klT@h9}?IP~xZ(@W4H#&kkNJRaPp zz`5hrZJj`X4H4V%FnvMi;aqxSw(*W2hjMk->(*yhuIKZ~`3r#G<+d8<1>HgBV#l#u zh7}9nMR19U3!Lp>z%ambcIrA$Ek#LD zLrr#yv7Ek9Pd0kZ0ScU;3X}Z9MRr@d{|FBo93hi^uABy(zGqF6lSn znsiwR(Q)4@r6BlfuEP#`YM|ao?ZpZ}3b^bx;0SqC%wxDt8}U-P9`?&p3fUX+|jgg64a!%=s1+V*Z_BiMfroYF56MvhQDj>W2@c23% z3#BfBA$v)pezZAW8q_O(k&9|8o!C-L5{{ampZ||Z!HI++suP7;4iT8%oj465XP*Zx zZGRTt^dJdgjy7{=G;P~Wm6B-=)FuRAA{JAR?lR_1l(Rv%;E9mnGjR9xmd zEDZMRza^@91LSG}jB&P>l_EMWes!q2e{cZspT)&R!0jy>mbo_#=V`x`m;b4nrL4Dc za0+e{p<>46dnW4 zLtioWFmag3EcsPT*~gG8a>-c!O}-6d zaENHy&yO}d_tDHiQyz_&+ux0=zyRL2P$y(-FeSv<0Zjv}FI|>6*<~INl3jtOyn)$= zOiXW09e|fz?soybT;0{NHZVY_VcDx>(Kyha_I7opmD+|$sPdezSN1#29AMXZttTtg zcCwexF>1LI_{qpk8G1ip+^_BnoZ3d3>R?%7yA9jv+#OoHz~ZzV<@CDPD!+Bo+}v#2 z!#BcdfP_);nM)ZPGlRxGBUGYLu6});%pL&+XDa!QoYdlCzd^(nkn!v_;y)#!rw?tK zn~iuSJ_njB--9dw8k?JD=DzW2w6wGU7tMKofk7-PDINe0$%azb`xG@q6G&R*S)l$sN%&g$dVP{_0aSWOs z7ws-59eRPq2tcT0VE3>j&s= zz6E5})YROvYG`Qq{P}Z*UJB@01#O5~oyY4G5?-Pp@EHTu$0U5h$^$Gli0X!iz*dc= zK*Lb#rT@s9%pgNM2sd`ug?jG?24Z-}xntVUL!W-3Bd= z8HI&Ec6V);yW?H}y+KY5Flx#Q2o3pz6w*}jopdEZ-@h+sXURub@lb_a0`&qD6H{M} z>w)})LXy+4=H+e^asC33>Ktq$ddWygkQH_dE+9#am03~4Kxgye=2!$iM}+Su;I~z5}(BW6-($*OUwJSqYf$#&sv54Jc?wXI%x8}# zbgLZSH+>}pExmg^0yDM?Ap*rNd-JTfw^>ww?aulUSA7R%mKjjM(aNx?+yHIETT=xk zB`0=j^`v8!f0`UeXC;TVTr(gO1AO&d%RT+WifK#!h{(vdX(>n~lB%9~Cm#3mr3V6+ z8~(9EtDMQCzuby#_W|eMr}b>P9VbsDBvNwntNuK%ZZP=Wr=|yjJ}xe<0k~g2s7hLa zE((ZHL)uEOZ@j(*{G}%p9wQV5o&a@&FbsS%gE$ZY$>+$}Tj0jNj~@}#zu zM;4I20a= zpMLvADm&&NNL=ku^+DY&nP=>p-u5AhSIzet=Esi%4p1VY;9aXwt-11Ngl&K{ae~gw zD))39!)7A3CSy@X6MmzPoH^ah+{vK7>fmb1Z-es>Xnf=JL-jC>CTnpgY(m{{rj#KE z?>nm3IhiYV8}XqpxVXOj_z_6HOZ*A~B7(S$h&<5!M`l=e% zkKA#wqOQd={Ey=}=lG|S1p~95iXSVkt>vX}urUkp*osMhv6?)gLt)%XDxGq&X#9-F z3;YJvhD9L)XS=#MIq4dOYJRBtQ~?RF;%vFfbCft$J2Y9x!>%LuIK*#!Z`Ac&LD^m_ z{mVn|ZGk#H-6OSyI=csbfxELXbj9tl$;i#;D>-M9=1DSlsHi$$5R1LdGDMeZ;}>35 z{t1pR+@MafSB%m35=xf|`GeSFd-f(bgl_xK7wig8QykRRo14F|p7S z@||YT+wv?!Ce^4VnvPve08L&r65|fW&d@U&Yw%?xJI7c*rp@J&LdGW z0K+6SWVR;3e)Y&+2k2!XF(*h{7mhUUa=h*$dSCf|Gr4Y!afd&-C^de2Vl0K7P`Q{V zq1&}p`i(Hn0fBoxn!Kzh>I~DGa@)VFR}=MmCh!Tvv-EU8e)dhE z6?}MGY~4KM7GA1$ketE&-5PaSM?soy&_qmsqinqQ-O)af)%v#g$nJN?A|_5y3FWHo z*f7py{9jzXWkA$j*!4>Yh)RicN-Eu5DuT4Abmt)5NP~)il+qniDjfq1-ObR=08> zbe}!m&v~Eo9zXd-XXYP!U)QzQ`YnYgQP*2oEZ5(Zoi$B@4vWlQkdGHpEMHV-DIJC= zUJ??ClAy3NoNrL}|33h%@K{n3!G28A@S97uHo~V3!*zucD`P|(lZn8QYf2|-C zGAuUXVz=|dlxpy{HjP_zr{G&*N;o#x`uIl(_r|k#Ke=ho>T#ypJ28`1^nj2tdfJY0 zUubB+Cfm1e7mdL0+9M8W_8e3Dww)XeMN0vN2C!Bf&72`4?RsfqW{64Msp>|k`2Vi{ z_FpCfmVRV5$Sxiz9W$JOKpqg(gzUE|Da`>m2>&ETt>oaTlh=oG3Y$NKbbx&nw@9tKD*#4gYBF7JaRqt}+j;$C2Lg$U`#ik1+8hnoFUzxe`ZR(O>|9@6 zY6UTiP2d-=Y0rNDO*+vk7K`Y+to(i8{Rr^2{yj5GB>y89Z*P~qnU8P(n)70@bhJw0 z(I;=WOw^=jcP>e@=s}_~9ZIqVrnG2spCU>#eRSnI9POi&rsBoE-p}JMa7`8e;^)6LR1_=d z1WtBRh{(@`jQ>Cv9;SMT-@V_$tqVEl!{JArB#$ZzBK9HvN$Pn>7;w5i80hIl1}c2b&+p zrm;&5d?`^rSP%bNQ*HtuSXQS~#P&>VM~wXb01f7bu6x@7d@e(vi9RoV)jf-r7OaBurXzWEs1Hb$RpacfTXY=G3Tu+(N*0r@|C`bEorg>8I|+*>-4oQPQ8nRBaT# zk9W52yg#xgQPFqpcDiKS>-D%XJ*GV^4^lH2OG|;<8}0sX(oR0(*`Z?9nCV*kL=zeY z3&iNdI&zq#{M6En$S7IP=cCh~5xi${gV}cXXk!KmHux~VrO*&9Uzl}5Bhc<@;ZOaXlte+Hy-df$j?`GLeI=gfEmu0c z+t_eu8!svL@$o^#(>g3Ax%43afobKE{I!FL)*Q-kUi7=a_ZL^IVn?QT)B<{yWPX=h zdtfIt?5I{oV4p4K-Jk@1XdnAoI!|n!o`;_NM#xJ%vk~e7kg8kCPbOq&4u+$_1(((C1{JJ~8Gpdpq{G2Y?E?5=aiDTJNCsLO2ksf2 ztn0y?2byu7R;98WJ@P4ak>S`lCeN_$B!2~F<6)Q%Q7Mkdo&G!cCSX*)Tl_3_yhT#! zW)l8@%looK*KT;8jpd*8Wu{Bs#c*&fvDX|S8l;&ApM4g^iaeYf)GJWGH%uk z4xOPfC(#agXRHb})2n2RaM~+!af1!dXv;EbvJkQ(ZT9(-&I}AsigVo zY-WMdZ^ji^U@Sf>XW5^pBEz-+v=lFZ>~=V17P}786H{@I;$q}^dGA;yI6Lk~oh45C zz^v)si;`$vWq!@ES8`UfJ&C4!fe(2v>llFb>G6WjZQZ%gV#y1&swvnqpDoIkLV@ynSt!!ImTSdP~rnk+Y{SGp4YmJK2ve^==J{p|Ko8o z#Ye552I^fq-rIV5aR9~=ahsjNwohRP)BL%Q^?7#n4_xldX^gHR{iuI zt7db750%FuVYxWKluVvh2w)G`N04KTf>bk77g-Q$6w^KDFgYu#S;}qDq>P| z_XchhWd{u-l`iscs>cVvCe{ZV-9XdoOoP<11uHMF!m8Bg(2!K+O3F}8M(~;e4G_ot zcX)KWD=0!A$mqM?Jq_QM-P0U)bh+2B^Ec2oo4^Ybd$pWblu z#4vi2M(JEvm1R|i;G-8~@9wXgUF?O{mp2C?SX;YYShkqppN>x zm!V``_yQwb!c(1Kru_?FsTt#BA$$8T&;l=%*`x+wz?CV-%!Y^zN_gkD2f z(=*>{6L{3BFd=P$3y`LVDl3dS!%vZdD}El6VH*Db#0%euKVx}+_&N^OZ4$-uYREJv@( zT>}`JCUPmarz!aQcVs3>)0yd+ok&E4YXeaj7jGqxI(T)+Jxfr3NF}97JLTF$QUx>y zOfP=|x59kkJ6a}eD{$g>I4BYZ9mM-Ifc9FP{B-^v>CR6dgd5TKFN)w$_Do$k(^cd9 zybO=YGs|s!#-wv1>RxNv*2k$m2w}Lz>TmbM>769^mkwIFj*T6i>skq=2xuqt6mMrP zR+^R;e(HhuLmoDLDM@jze`LwwBAoK1e1XOZxUyJfp;w8#-B~{^UL# zrQC-k%7cq6tf7wcTD+ktoiGQ6f1D;cCJ6SjBYD88jKx+#UD|jVk;^Xiitcg8Za|8( zp+Ojp#7o&tI?(hk$v5bs7TF z3*w)Rk!^|iIH>in(Xe6x3CL_YTtMVNBz+%~3vCyD9%CsK_x{OGr+KZH5iT0=z44Dx zedBkGq|8M9nQ2bOQye$O1U^p3V3%E$eGgwBx$_DAX3kU0n?D&Cm-1$VT~N+=OXIGH z%5cTy@QGn?)N9;->?Q6(%!845=ZZ=MCx$m*pZ+xX(;P#=VMDP?F^h|BS_)7m2bz4w zjxV%aMx#BqWTfMo^_}wu7qaf+ir7F_RrH@a8EC=gQ@$hTcq}ZTUX&BLPmNTl*Vz!I z(=`8p1`F=pI8It)3}T<7?4@GxZiSP>yt)pKH_J2(ZTMz9UAIje8(awG%wAlUN#OFl zdy+Nn!_#-Z*(PcBg2E z##i7mNX_KtnF!&MT2>lVwg<+#z!uvl^+=dVY-(k;6P{u8^q%{rcsj zTi><7!E$2O+o*C&wP3cA4T^;J`Ru-p+r0&t``Wz|h(K&n|Ex$8WQeIXjY$to;yHwj zh4;Oo-uD4NWgYNSBJkXxzKzz>r+#HOiKk#h4afyAb7=W6h%=+7cK}W>ph%b9AeMxT zrgy2QEtKu;=KdV_tS9iIb9d-N8DY#R+c}`vT8KlMc#yxR&^VV9oJ>Dw$6p*wqj->1 z`%P(Hw{s%4P_d-Qhy^3i)%M};aBYWR-L*OtQjPu*bKvS`k*79x`o~RhQw(f%S;H_) z`@h%XyO%ZE&?mH*@84uj!(BE15tpz^i{vDQ@Cht?R{jX!draO@yJZZ8_{}YiclRmw za2QXG1(~mrVU`LrM$(T?SH6EFr)(9_1*M@39_HVr_noa>KKJ$~MK(2tgVnznDb68; z1;@&?sJ#62d3={1oY23*ZY)uc0#&%t9u>Hs*+5oktA_mTkziJ>CGA8;bns6+5`{pQ zDTxOHP^6o{|2z|Q(ce+1I!nY{@4Bki7liKBlam`DKCmXBtkgKG7O~1<% zv$U$S;R|-MjsTF@Q`HgAOxxf)c0mO93fN}fl#?IMJOl#f#X0=7@d8!kMc_`r1h6pV zS=gl7p%^a7a(Vl+pGf^`Av_Izal_l+Quz1vXaXyM#I^lPtxeJWFuO-OcFpd_J-ElV zpiVtcZ#lBrnm6=)zhrX5yWFnyD4sbFSOxmZ#5}?TC?53Jt}1sPSsCv3<~5(A0WMmN zZjn3A^s060tRVh!Unr)|`JfB=IP|GSJRNIAW+KvWUUe{k4LAbv3;i-S@UV)}GR@we z;@}2j;#-hm=rk7+?_S3hs3E@u+8K1=M3VBjZZbd&YJjX3SO;Y(17^|r(^9;5*2 z8yx#Mg1Q?&IKYvIu*U;aZDeP071Wy_wisa{sH%^&Q&{~%pk?9`%QRz|9SC+0K9NQR z5|25I&m&?&V`ijN2Fq6z#!gV-hzD!eDHj!gLV5Mwy;8gKq=9DBfm8X%<=exvrahrc z&ngcILZ#(>`fzNIa1;g3$QQ?4%k%U=!bL%CmwJBKEj9jaJF4PhnsokmU4f${L;$TQ zz$No5B{EvD8aZzLSUexp$SCd*%~Hvn?j|@*RmtG1 zSR;9fkst%3gw(Y?160UwKnd(({tB%mQao)yE#eQjFt{8Qq_7Tav#`%~JSc@g6 zv2GF%@a`0&XWAqYyaEV=VITSh*rUZzZ*yBMT8h~Yx6~w~{?cFf6?!=Sq3Y%V3PYAM z1XpH=*E$uFw!iKEtGZ+d)v>`MJ?P+&v#}uf=SJ%cu7x&CBZuZB2=PN>(|O+)>+=ko ziKlTjv>`t{-`%xf2~_yU``J-eWxt0naM;f*Iel^jo8vDh&a#MqRXIcB)ATrLG$U!S zh^~Z%v#!`9xBiips`;yct_N3v*`S!^hU2iP&84-8AAol7KzM9H2j?YIF}JkVeNDd4{%%hq?dtU#Oexh`h^p z*!7~#%4qk+v+?JF?C9%b?G>G(f(6Yw%U2t`-aJX+pvSqNl0n&aYcLhD&PR1RMYDf- zB7l8`^Z+gbPa2jVmdLi~p@v*!TM;wwqqP0DA`1jhDNTu?TW!IE{LHCNSP8csJr#Or z_b}c@Gg?m7b*DkjOzucInGozs=ErQEITi;2S+hnWO}dx^4tGCdS1b}A z&luFCl}`>$GQChBqo4W_hlZ2xI}2I`ozqqV&RdK4wjZ1yj23V2s5>vCY3@q3h9r== z3{xph`;>A;54!|bea244<$>M8L}TBs_#BHnW=>@5Pq0P;w9}TCS<~F?@j=po&vnPBw z(aJP=4h%XRzUFtzEZp-88~FqQ+|DNTlTG29uf zCf>ka^N&O?OPNR&@C2OedQXVt(=>I$@>m}1bo+B{t%||f%Xu&2I+RnP$!hU?ZqVwl zxF!cHe}Mn(-SAsCee6nlzNw1Nb7RYCN@Ox?WOl8vSq~%Q*~Ll4`bfWvU_#mkO#kpk zkt?;akkpB8@O9?>XO_e*=)1{(8P7=p*=V1&bd;SDFVdlPG6uW0(N8G&6P1*H#}((X zTbIhea|rMpvP|i?qaUb9LIU5G1L^W2aY=+b5XaU_!3~H3W)E^RAuxFkN)?^6A;;$! z0~#mll5&eIXkM|PfQ&;~L_GICdrMdNGOkJT#G-atilS^uc&;TG%uuheikLRrnivfj z&V>6>p2%R`g@c(_fN!+lCJCw2v?>!{JW-qEgCL%jL_B7AL;UZa)>2x5hBC9j7R@-L zpz|EqNo=wWoV}>|9oF@-8eS~FCY9j%j8;+Y7aNH^L-f#!r4$%zk_$RLAD5PBGP>Fj zb)?q8EjJh$Me58Lqh>q;KAMU*WF&V1P;PwzK3lm>I zSn)}}wMa>D&rQ8UzCJy2=xe9S<@Hs+{ z7ife=WDGDWnSSU;xHwyGe0}T^Sjo0m%vCTB_blNyyY@R(_S~?-Ut9wY$-d55-Kb?D z@^!h)>Gk9!ERkd*{k%@mVVi8hdjzI48V&4{TCZ)F5zKY#CoB4SK6M8*TM=}6!iyZh zRidR$xu=CCdGIA0#FaL_o3EEW$=9)N)nl(KJB_9vK9nq$)K zO^76rfeA!>%Z~mYK_-|xg=zdZce?SRNzy13_4D~p7c7%xaThY-W%lDQWl%!l!?*4f z?f>JDk3^Z!s{ehHZR$+P$AK(SoPDDWua{HxtSrv@!ukr`@Fr8IlZ87^QOA?u;TeOP zWn+F=`G-r~)osjp13`lr^HECl(mQ`uv`L-xf_B0?8JDMANhCjC!BV9mKxu0 zCb5-bkZTceMAMol*6jkb0GNt0xGrXap&$(mPD}gFB@c^37STvmXjKcyPXP$$3K|^T zIKOyYCM(;El6B*0Cs87uQ9jTL^jX|-49J=uxscoAUpl)gw!krxeyhLBRSldV;Xwoh ztPE3W;ZoPjn)7FEdd#%Ug78%>mg$vbtP{kx5FF2Wmxg3;Eq`!zBg~tSYSU19?oU7m z?#2V3KLo`-NN&*FMouT>&jzB22_DaxxP%qBU%n^-5MQv$o-b$pakX7C%((X7!gszb z6f~p*B1{g{^VOV&=UM`;-NtXHoBKcgBJ6eDdrr0~Ja^xO;>deg_MRiy^=CQw5}9M< zKQR5^9#mUAH>#T0q={R{c+d`%)V58Aul048>&LeQ;TkZf*WweByvYFCsT%eZU<3im z#bS(IN#ypJxo|-%jfN@((+o}Gf(__hI61KKF{C}OCDHCAM{s;F{@I0-2+q-*5SQ%r zHGls{=I#9OXMLw9a9~w*XM0u50y7JRlpWD@&@K*oMop>sX*#jdswA&TAcvp1$N&Sv zf@qIxdZ1~|RxI#TJsr3`Uusm$&X+hz#Ve^snVrYFoSm)RRNAb-*jFcFsln`;TTWT8 zJNomoWTF>4p)w$C(-zIXQG|3$yA{_jp$c|7(5LdxcGb?rGh3i|!GP!3&I-oM-3p7Y znGQje$T}dGa7k0be!TD*H&f^I6d`L^A3YG09FWwf< zb@>_Tj9CA|P@Tbhe4t7}4E) z3)hgYPBGl#IHN|4d+e}5Z>jnXWiGLzpsf#GS=4Y(H{Kwq?$Yaju50kk+UsmmUr5@d za%zf~4#4D~`EdZUxxLf$q)HTxhjKAH<-+CJUc6vrGq9(fHaq=BeRVwb>WiB_z*ztb)qeY_-um&1MBZ(> z_SzO9{uO4b-h4v2I6Y_n5DatO-!-CkIShE%t>%c6P*22HN61?cTeNW%V$#n-u%Kyw>!&rA-){wuz(3X zB-I>rezdu`9}1VRaE%IQ+9Zu^QB^p#@yeuk@H_2+oGQ!tsf<2&hzkvC?keBX>PuE_ zVjq;R4Y)Z&iv^1zm-V280uHJA{iu0cZ!eB&f}O=O0W-iV*oNY)AGVrn$z&^__IRL z<^^@+nD3hZIY}x$DU~64gfokLZ$1a)3z}p-4CYjc3bm<`m;i(?)0ZTAAaejBiHLY^;(d! zd9fNy?wjm{Es+INv!jAA1+jNA5#F-0bN`kUP;bEg^V3zW*q+e#Aj|nlO@wqq?(tUa zgGo;$uB4n1^b|B0FtZQxlTNy-M5ycieJ*+8P85#mdurOxWy+FA>1|*JP|@%RdP)%? zw@W=7s-l+G2kK9S<^AY^0Mgy{u9j?-ZqC1{2hybjX#nt)Lt6dsT zb_$S$AUMcXS?;%>9=US8=F<$_eSm^ku%xbDhyl?1e+-ML>KDKs{NIuqgrOC!tx#mw zw{F~@M{TT`ChxYK>0a++;h+`z{8?E97)qIVE4uYb_rrskv-Dtga~}B#6CzD}t3Q1m z9DRtn)~_Fd^O3uFM}-Kk@)-q@*p9;0sJ}b4m~NDl0r&uVF-br9mCYSz?&4t6Y&-HP z!xCz?ky>ego`b3Io}^Fqq*gQG49+bG{~rdf()($*e+*m>6a#mB`;UGmCz$aAaT(om zurnxb{4qC$o*qZue8xG>@+erpN1%k!E{uSShczLOAZv$z$`MfQ>Uv9XyneXV@Zzpe zf=>}mbAypBsxCt@pWjdYdo+RD!DUt4|Ddaiqft-#K{KPL3)*E=EHII;Cy)>BOsDEp zrz&hb9P4n$(dyTRXDDop*UYZ_+L6{J$iRCBxeN>5S@w83$Yx@%z88H&Uv-0}>2y^`a5E zkAa4zr#X@U6V-!r>~m>F9QNPy9gp*~GdusYTY>8u|7nVb$7DjcQO_tXc@Y=zOTt>s zD<2XkzZ?x=q=rjwrVbb`*YDEvbOrCV&hDaxyW0GLop?5O^d{|?dM>qE6qk^}`BFhM zncEd}_+haCkG1rR=dobK12AAE61aEY720s3$1r$ZKMu_DuiE}?9rw=TqY*dmxpi76 zHRTTMmim)qY&^7HZ2uJA2@$TI`E`CFX<9Mq@b+-3avI|y0H*~*Z znUJcx|m zhKhdI1wFCq5~6mxS!4_BV!eogJVG&j0HsZaR=9W+{G#H89GfS@TR@BXak1o?7ed_|7~ zK5bV`0fuC!frWfZkK_CA?I{kL4M)2A&1-w;M*t=+~j69g@w^|P5fM+y@50`LQcBt;{V7y0-i0505-V^Uw14T+&!TfmvJf7vz z_lu&Lo)aMM??aJBz4yj<;$a{hhA-T4C zcG|>fmy4yEDF8(o*>4s4Z|cyd1=M5lHi~6`Zu>-sG{0kU4 z=nI-PHp)?J9KNnhMk*3vKq)H;XU<#YvtPT1-E@X?SoIDvp0EsjAwJ&7=?9?>+tzwe zpl=Nr`S-Xgb47QroVN=?F8X0hd&F7 zB8qx+!hL<8V!_`KV(tTiipx$w)p(6JgK;JV7N-D4XU>g(9d_J*0Z%&WJTRDLR|hd| zL%_2!Drix>i51JTavdPk`q8v>YL1R+8?M;0%jy1iR%nn!)n2rYhR8z7HP%gaGVjQG z6%idq?7~kdr>}e$a29Zj)1Ec`{M#}JNQk_*fhJeZd&a8lr-t~{oTy>a$SrK)%o^$; zlz)CSfgZjy-0xP;ESjQT!qsA`(aPz}R-j%k35Moy4-{OfOh1ozlBMRtJe5cbYAW8UWb%cNE_w);4V|t+GU+3%b z2YbC~3e6M-$Eji=lmrN9XE9%FsIPr$nd1xwJ5C%tTYJ$O(n=GFm=CPnX1Evjsk{1) zsPvcEkh?vs5>_elw;(TJ&d0q@v8&M`7BnD;*1$e=E2Fhf!3gwVKu;m?y*W*k1bG1+ zryc~B8!JSp7K8D<+Thcr;aj_<%6#PE?ot{wJ=70*;io@c9k=yC%Zru~peq(kB|(0N z^WWd<^jQMzpfUun`WDoae)X5Oa9bqTuuk%a#J+hhPIW7! zenPDzyE~M5;Z3xn?v5p-b!URZ*)HhR4P495Sf2I~eyH1OPoi?|#7U?!8e-hLt<(-b z0#N8%beINW8+C$=YEU$8#e#q^3JiKq~kfG?K&- z(>Vk7?WTfSKNX_z@yva0Cur@CA)0mXN?oweGw4gI-tc@u5rufH=70QvlfU;M7F zSID`f8R2G-VZeq1%iG9xkEetbggA&*gzZdo&&~P z@Bic&?BGFTdVRO>IW8`%r26h*_nqvNG)~<%x@W&msdS`>( zR$xlrHIav$LQ%PFNT4iR)^=cK-i zN{|b1HDL)OT!{x#gdxBQRcKHbPi0?&4xD`NjgEtaphUlbtFJRz&_=u3o(A~nn3$P0 zUKIl_8lXaF0iijtZhZniJt9(4O^Xa5*68*%vi~_`FGQ(*v3^%qHt3y~(SQZUav+B0 zw)3q!+?;2q$(LiO9X9iFmEHYp6pXx(mv|(TE%pl{;nK8};Vt_t_dS^QPyJ43*1)M| zot&%btPnf9W+mfe6V}ksP!Qg#wVn?=g{bt0TqUwE1azvv>IMQtPq&-#n$dw*<9XS@ z_28rqpyQ%9=fer!K*>A)SHj=N)R_ynC2PBXyRHIKO5)~?l5_w7HB@mzk${In`?^HE z>uP5Zn2At$Zq)B(V)~YzZuln|M9iW>6j4xQKJ&XfGa5IG1tDV%)~vI@gSHBtG%OI9 z#!eJ=pw-fM!UC={KrBcH(0brY=~mzXAbFSz@-INFJFO38Q6i|QsryBdscop#(5^_5 z$&SW@HVr^>NPLYpCsreQ>tS+A99j3HIzz z4<2B@5ZwJ6w-5+<$^m46{WzhWe*#^tDbd5x(vN1WTqbB%I$*P}28zJ}NmTrI34hO$ z<#@y+(%G6b@PSQPPq$!wUYgofBbF6q0Lkum_6KL8*g$W?w`&Bz;<*~nOhGbk__Y45 z6vx+8Me9m~x&ccR#=_HYwKooB{-hRlZg=zb1szAu8aSG2y18KAYrHJhqK%Zgy*f-1 zar$ACCoY*E!k=*&@!O9FD=EU(*RoI^VZXB?PS@CHvReFLvPKRQIPSi?v?X$<5p0YT zfYWT#&3YP*^rowD5kpw5Fc0P{B$S)@-0Z~UUb&6Yr}=y}I$E#w$H_uPHSK1IQt_>w z811ILCoe5D@hJXTkRH?%e1QDwc>`1-%ODKt!*-R987{Ps{8X*G52)oFb)b zV6kv8(5k)P>^OM<0O*NgZfxKwfkxH=*PjIN)4FcF8880Luw*0nds<2pjB`( zukSWlNAmp(6DMZ`%E7u>P~v4r@&oKjL7~K~wU&FkH$Db&p;bLri{J#LA<+sGaF@^k zcd0Gf9Vf?vOiW2d>Tu};RJaP_G9z4E`v5t6jH58X#=z}BU(yiYK1i42$vljWdP{-b zc@a3nvanqQ4b5Hcm+`?VCEXoFdh+sI^!%kbP1OI_Hc)Ko1ImL*-_ozoxUX6UsoqM! z?W7Vrz|K_YsHPJd{1-@fvA_xd!Vy~1Jmxn5-2$@Yx7Tp`7nqh!%d9q@5&8cd?ss>y zu&^it`3Q1Rv^zV+4T}5#E0O@n>9J4WcK7!ec8;^=4Nf`v#O>-hP|=!Of}SCKcRu`2 zTFOI`%`}52k~#rS%|t*7y)@%Cyf_y`*qRERJw_rw1NJs>FOb@bw|^`Oo{C@6@jwX8 zsdgb2D*P7=GddiBiO&&aqELG!rAai!t z`jXsAfzEfOg*OdW?qKsp&ES=@CV&((qUg2YjY?`dCM@uvJ2-nyVe0HyysB1ZtNk`h z+ClXCXw(yAa^T|O9Z!>kY$&zpoiERU-|U!)g@q4L7sPaO85+i4^Q9bTy?n>Rtv??I z&_Bdh#pA6C;{sG4!a!^p&_w7L6`4M_A|bwag;|r2za+wo6S;N>|B>cXW=*I4*9vMT z6!^07()gV5_yE%fh3y^u_J+d-6sw2Ii;H*tfX}kGQ3pm`rX4PfRuPRbt_cH zao`xV&<%V!kK&)YyeA=URXcsaA|~)H+mqC?1ku%ZNDLVMl~d=KCe!oNLO0qVE(d;} zyI$s1NHr}V>G$Pd!)jecdezRr6gvcxlTm~Osq>W>MgNGih1;7+HGUcpjsncAs9^NM ziq*wrYVFoIPQLT4vhM(eRT&Aa27Li*vOymJymrxQqwTXadhphh_+%Rr;@&3it&Vzc zoMHRPQ@3a;)y}_T_t$~Aot|Op8qL`7`v6S6e<5JcGE}MKW$<5M{L#KV zvx09;Q@>5Rm*47K_nKBjw;60K&GsH(73^-$O4B|(ds3Ur{X0gM3fZ)*CVlPN;Gd_s zV*X~wzXQYtQSca}RX_&0&W~5u2Ic_s17*1%d&k+!?aT*4n3Yq62J&+m;}p)8w-ghE z4>>DbbVSz;?eX>y!7hOe$WI=}vmf^w+Y?hX^UdJtk|}spY+U2(-Z5xqL3@)dlby2j zC5U3h|Jwwd6}7(O7|uV<&AkjM>558DmD(B zIA05e=+U*`t>j~F=9I9`{2n~@8lTQ@o3(oV$a3*&Mr~DX(f+HuBE+^6f_#s&_6c1UTUwhs?oAe zX&-vwkdQoj_J~MUmQdYuoS>AEM*R`d>*OC8Bi_%~Ib%P^6F#R;J4)|~-IHf|8?Epv z>CvLT4QwSgzdyCVU+Qvhu)#&A%=9HRoRfaPP<_)_oR^o#&k(Ztw5FjI1>aftrm!Kmo2sSGh3OhtXv#jU1f9M@Vcxi$IQQ8 zU0HDiG2UR6w=0)Y>Uz|iA;)zQO;pk z4A0p}8A-wj!(PsXs9OA4qI)GYQdMJf3ScKZuIsO58HfS{16g7+P$}P{E^CQ7+<^JN z9D9+{H948kbbFJ+tQ1eqd2J1WbbV)({{RwZrW?FH1QQNP2nm1Qg}_sXH9w9c!P_EC znc8r%Suj`YR`6!695R@0eYZ*+bLX34v56haAWb|0TyT&J6JAtgm-|R`x&lIgGFLAxpphAqm&Vja#_Qrx1SzWMy3@MH zmo;v#R}gq|+!TS7vDf|Lu0eh0t{5-O^c zH>sT9uF)!TGJ*t|hX9taGLpMg6x%;AFb#8I1;If%Y8g^_$*AXy#O1*BAUF3u!1&Mr zq>@&iki{RsNEy$0k$x}4N@KQE(Ztb}Epx)W+6J51mz!)T^BLx&dsr@Q`4Q&ObR7@KVvd(5 zb{w3X8`Bl60Fm*-^KdOrsw$v)RMpDL>btKsRCkN89E1u*(n;et&pI>>%s_44kN=Kq zIS2or1^C`CFFZkjNoXWjL$*9fb2>OUsDZ&Kwg;oxr<`}uXSpTYM+d%)m$=H>j_~br z1{Q~OAj>LZzsINLQ)nrqzX?))cqbL7Hp#L7ulku6MV+SG=GbF#@f7aHGYm2^GSzg6 z9*_)FX-7>%;|ahs8xuuTAnhk7Cx?)fv=g2t4s*^u)cVB zB)B}b)8$yXZ+aSiFGE6mxbGY7i|T=*%>Vj0p(+DZjOC7ho_|t=-zVde&3gTaf?q%& zmR8a$ah-;cknoA}_}wYCKw?(a{oT4faJ$LCExo;5xFr{`A{2I*Z=b3C(8r999vJ<- zZ*{K8zp48MJf$&-i6JpD#NgU9NJvn7czA%PI`r#TwuiQu`ZbP$sF!COpiwxT=a=u| z;tpfaVm&+IMmJ$HUxBc_Smv)m2&ctI>BMTf&!cnwS+(ywcT6i}5n+qNKc)#Z3gogV zBCvG6hvU#$94E_=1)3eOdq%{@K59H)qXH|<3os_Mx3@3UF8c`L`oM0d^x=cZn_scu z%JKs*Jd0Yoe%?7C=nPdr)QFpUM|g;)f>UVb)cSK417B(TU~>trHA^=u$*jh)-|krp z2>&>&m>_G7v3lE;u7fFo_i;Cxl$o;5J&IQHhxh3&imC>lOVnr2RKCw1c!gYB;{)^< zR7lm2It4GU+Tm+vtXr^xk|0Czst9N$tV$c4mgV#f3}8Oz<@6>*gg?>1NM5d>kC}x9 z;~S_@gYJ{!-p0f*5jz>{cy!K3;D zF825D-@$zjieXhF6&2o>yIX~)SFw79iI3eCo&HupoQ&{qNcRc{aXsdR_Rv%=qpDDT z8T6ZV*MP>)5T(9nEHDM_EBxpRuapmSBiWh-FghZW(!nXH*V+DK@Mp&K85x&;ra}zM z9c*kqu<(vq3xbL}Jx~)w>9sD_X|lxdTJ%2h@%1gMs$yYc`V9Dbk8o+Z?;x^HA~v78 zuh|QS)T-+3msZn@G2cRe2A0ZGi0Jl&s+iRn^tWJvqda&vRrmC}%tzXGflkglX3Ixdj_+8J$aasVyh zopRV-)0L5Fc9ke=aR;52g{rD*M|unZrq~zT=X&V~x?o@oVsze%(bm?ce;C>ghj+HN zegrqm1#D;dbW;6bdqYP(++gJ$!=8yk)d*Ssw>O2l(68OyuK*sfk2S;RxwW-55i(m^ zHK_dRCh6hjuor9U>cZcZ3aLtrh!|L20hJFT-U<@%mui4^2UQ;Ca^!KyB-my)T7!88?>lD;R zD@pKh-0t8h{eI=)yF0UNabH2a+i-za$wPztC@L8#m%etc3o+q`5uPe5cuPwl$Sw=8 zH0T5q3dPmIS+EacD%FOOasLIiANU+p02ZLvluf8V28nh6tH$qhw$IQ~^)vY%6phJT z#ECCQ^142p`+4EcH<^XCg#EfvXfF~wU}oPd&b0{jwaP8}WZsrvUY#F;)IsVp?S4Qf zQlduPHX=s3(hmowJEl`${DOKn0IABfG%sJQBtenc0+Puc(-4usSRK2{SJh`Sk>-=t zi_B{~yL>wWt#kZ?A$@zr4}KlHRm~d$)-JyH#GoHEf>MnojG1?K&7Ol1V}#Sj*aiwRsp8#<;B78Wm!c# zar=(E?AH_o?-l?jln;4ruj^Qcm!lh;M%KjaB71TRo zT#;krcCggJP|TYPT|eC4mtl!KV4$!U1vUdvCRFV- z1{%6{mw|x+USVPG18Vd@2o2Z?V~*ouV$8-o+ei4MWv&46>#M|Hcpp3E&-!gd^moRF zp0~fJh{$^gy7sIaV(*{5_mLm?(b2nvzE3dxbXwxo$on=bF}>kN+9SK~cf*U?55kbE zO44Kn5&qO*LH+rTErx{_#Kyo2bsAZ=N_?IKmh{B4!$^Ns^i)8Wr9 zxj}D~c{(JzGvg3I{zfp9lg$KAeltn>nanW&z4uFWMSjTiY_$fUMjHfgdfU2#CD7O zF6smdxL&LFDe39(T%`nZL2JNwC4Cu5RwLfg-cFy;ho=u=dWZ|2Mb;lf7y}=-G#ZX@ zC{5n8v?%|+{N){M`0dTfXsoj^=S8GQLrU%bX(g?#UqOn{P+s&x1|TdAgLf8{o4F|@ zxa@^{SE50pEO`g;6cfNr`@7(Oi&~y+ZT;e#=jRPm1c^aaKnGA<%b=l%oA3t*%BYlD zQ0~8AdPoFnRVY*tKpPp@*~1v+BdrGGUNHeq;Z&yYv!UzfUA3uo39k&~*|&?n_8KXN z;q7DW<3!l#5TE>P?xI*4b#a8MOq_`{srMW{QLL~WV0-s&9W;Q(9bZYn{DI)==5kNB zpgEF8oDUoqfQ?*PRTUrX!K*vf3oMe7X@FGQ8A%fcgLx8p{7fdQ4;8eSyOmE7JJF9E zvbb^R${B8LQ+=DbP8Aa=_QTH3dOFd}>@nvX!e0TsKK{E4O@koM({mSwR7B)~H7`zx z4iq-5B2!$YTz`)Recr*qTL4&L?^G%t5`GZd|NHm%m@!p^0mRyx4Ky-sZEc@Gy|Fvr zVDs7vOJ$-;MCF$7FcMm^7AUWrnKm^VBI1)Cb9c-=*oHziuBBo52Lh>yd)#R&7`5D z%XpJvG<`@!_+f(R7yD22o`Hdmk&$SC)YA;JtYZK?G7|>}HSnX{-SfD*B7BnBzwuC@9am@rVeJT2Oq!lVgU)sQLx<+;;Fv{P`(?;P+~ za3E4!n-4zq-C?_B6`<&`5ol>?c^$2{Y>eg?xY4rxKU95XR2ERvEseCIG)Ril-6`E5 z-5}lF4N7-+NlA-zgOqf4cX#(a_`cu0_gl+fE?7LziJ3in@0n8(2Ae2U(&8Ql(4b8< z%SYKfa@lNwY#?I_n0768QHi&TOJ>WaHe4q;qWZAr(xO<|EEm8xEXo z6e$n)I3QY~%q0%mCmi;tP{5jjq0Pk(nw}PxmZ4${U?HVsFXOnu?frS`a4-`M(52G+ z4J&I+n9J&^vYR78X^{bM05bI6S4&!9@=@2=&U}ozXne?`8qNC9P$c~x<;Y8-6cTFE zZW*C7?Byf%nyn!RKWPiR`6I(iEpw|n)Ehe}6Bj4s3?4cb$y(%tRD3J+i9f{iu3xphqBA z?Jc^rv}CCM*F*w<-TfD(_Xr!W57584B?h|weWLVF(VL*>>P)>&5xFNC_l>4$Fv_t%_icET6~ipWhU z{HdG)vxgcLyD5kPd@AkS4hEZ)H)jTn443fAvq^}B7%FBcYl*Sf)v!b0(&)DTRPL(z zQZ#YUf+-zH7kSbhfYh0%q{NU#;e!)yj-$@B6h!;i%DQCiphiB=D0o@$Xo4U>LUWe) z^!BF^`k#HY^?m&>8x+OMmSX%XYFU4#yk!~vE;B)^jBc+HX%VI?x%s0M^k-;fLcfn_1e4tPmI-Nho zM~+yXDRn_?897Avvvs#YraYz6)-&yI78xe49k`CKVT?Ty=;1`R*p;ajiSVe|hkMqH zfC-;mYV=I~#k%soSIt%UZf|ZR+PbGIPrS76>XQ!K!PZxK%r6wPbImm7^IwgL$2Er; z;#u7iG(Yo;L5W&-RqUI+15qwFOuNt)nyp0+8I>y z9{kY&*-G^pbw%kmI>7Z2!^{i(q9NipD)Xy`yk>VGooeG!&-Bi}Tsf-muvn<8kjJNc zp~|b03F&tN&kg!Qua5QfWv)eJV0gvIi3Nwc*&0SF3y}b%o%H%zf>Kvd?MTH>=Es{+ zeRJf`>cXz5Y&fgC!lOtT?;BZJo&25Ek-*2Ptq7Rhv=wC1tPdW3U6@oHpXiyB60nxVdf8Ye@^m`UT0MbC51!kh zwojM@O~MxHqiw&HEV)`dvr#Pfl@rqSDNhiix^CTr=ThGWiwPx)$oN#|qyIFu9s}j+ z@5eDgnMLUl>OSUN>vQ#i{mnL@6&02SSxBU%r{4nFdDcU;ODB;e6hBd1$iezxAPF3k z#g-Z(hBvS2iNTt|%tJwWoE~#sY6TK=g(H}+?yi4!4~lCqVWp|Kv5}| ztbkgD97lsJz_xti>z|vuzXt2#V&?qY))DbDTYnFDU2t8OBbOtLS2OU0$c!*Jre?ZQ z=tOFNIOi$8dW4-3u`olue(T7Fm{G>cKA!|_4OyOSQPuxOJWS2LW@eo+I4Bhfo-|eh z6t6~rCX5-wW23a#%&vdz}grJ<37P2mo9BQgbqYLMGN3ulJBn_pAe`i;eSO1*I&%?TZ9=r zO`5R)<^F|+2GnG9?D>suR`6FN*kvN+KrS(kT~^c z95wGPTaZFFg76c$B~7l>;ds(+i}Y)iziV=32tVJ}zs~qBajx(Qs)5A`uEdAWH{_W$ zcY9;hdlzACJk)F=b>jEd4m@wHf?502x+-}31KkZIZQpn)cfH}!;@$seP5!b)$8HToUnhpa;K)oF4dAZycD~1mR`-C%C*vmm#@^iJ zZMiq2Z%I38(nzH&wxMo-NLR)om@#&vavdP9wKM<2V)kxefm?l$51HT69cgG_UuP$* zvW{-AA(gQybL)i2kWF7a|Rpp0!5nWJ|l!jUy%d?jm zz2(E$e?bfoETlQ#v(nhN(mWp%so8yyuLx>fj(fB=8wV$!j(pt8l6G~agmQbU=TAN%4QdU8Qo~dZBxb zI(BV%$B?Q@2gnXGMiq)P36{EZ27FoD63!d4_7|GT`s`)-X1R1!%qU`i8QQ7LO^)*z z@p;|9(f8)i*y@W0$>(-EJtOTlmymZ*6ZxV+JlXE)xD~G|**i$7N1$IV{*0zAO@uaJ z)?JI}8eYx|?Zp0TaMMXF?FeS5?qa75@`Oo#YW?iW;ja9aSLAZY^b;33OW;M?AK$N7 zZKzoL)SPT}c_>woB?I;*D^=-LL&C5a=?^QC$S-G=YAj>Ue@ zo7kA}VLiTY{P#J;gUQ(lWrs9|VY{le1CJu)#->>8l!|6nJ(%&{JP}_kLFT%b+F9}` z&onRPNk}dRqn+P==V5FP4fkoQ6f0z!M;CuuL#b8|Z*Jz%*4CbT29*t%XYG6g#sC8s z4;H2S5V_!A3ncFT65jWHF&)HnmRv{_qP!>VgF{gD0>W~Nh^1!pSdG{f>|^$4J9n21 zzb_^15t8ZgN zge}s?!pp+bz7$VtdL{|1tFz8%Bn(oil`1poO;T9x7&`IcPlVw-BJMjubJ$;N?QsR- z9B#{4K&MRLqBZdgCO$w3Eg!V@&OvBlNPjeEiWoknsJ*V&%wD?}tey3s^-F8|v9$M1 zqw#d`+_G=xnRrFx_a@?D>^o*9^7GJTWEftWb4^loCY;}Ex$WC4p`)c$vNBd(xvK`2 z0U8_|xaUqVINZY6Q{CyA-HFX7iUK0E6@?sCQ|}D#j?LaxJ~b6J-?GLA%`!9>T-Ch< z_fL+$XyPSIN3tNnVEZgt!VY2HuV25qxVa&=1EKBhpW1utQ%RqphVmbuqj>r577b6c zx!~^SCaaC78=Ixp7P&SfCGqQV3Kp&Q%sSeWmoTExH?VMT^@gRNP{OE5hNHxVxTjlC z&qZtgbpK#x406!Lk1}0Zr^fs|Ei&X2D}tnXckOmv{b^}ApAaT^hM_r8+>fZ0>$E95 z`r)0fHO2Zwk0%la#~0hJGPcWfLCDwHB9vcZ3I@Do6)7nk2|f~G&O>*wJgxoOQ~lH* zf!$h2MF((m=0nHLhn4rc9Ky|$FH~S7gXPb4Ib59Yh%RsIWOaoY?V5{17V)^C<#n4y z>~%P;dU6@=ddAhIn_sD3*|}#NtByKC-l|zHcRhVVOfDu&+muGS4tb6sXvFA=<3qOI zd-7=HO2^|=sUF=D~`DxHA5_Kkmja45~E-cuUg zq+ojkT(%!i^V1{>r>*Bd|2#rJa8@wUIgG&4IIlCEXzj_$z)DnUB#Yl#NoiQo;QyK6 z4X>E!-`b{_eDLImsX;v3?A{MyYb;8qiB03uj#)ytcfuoAm_N)UgjL;x_dt`rD;Qeq_WVSKJgC zt**)tEmL_KdCNXo3rSk0R^h{XCf=Nn1l2m3z6tFb*x42z@oV>BX}}nAQ+70CNkf*- zns)XAU^XR+eO)-^LPw?LA&}&FH+_aV{9rp#ewc=yB>9b7s7e>f&26;|IYJer*98(4 zx=BubAp`7V^TN!XvNIX3TDU;o)~3#o-I~npCNq$AIP*|zG=NJ20KSv+^YyL4RA$S$ zxJcf+AfT10qvuCS8IK)}zOcjf+jR?}3Z!;rd=!dAr+MuD?iyn~ zv~*Za13Okv0BS~Y6Hy8k2b#WWFQ~EyMZ&T5$Q*lqDO_C%XXo^E{60OEzW&utynW5w z2fEA&6Yi<+tKo(16AMw8E0gb~`xbnL3|(r{-O ztHB1g*^MFk2ct15Are>{tWTfNE7AUXH(Os>b^c(mtg`&QApu9t_a%h?=Co-lhd7as z@NbdIoI+z%?cHY3J2)CN-JKAKoFP0;H|SeCV$WGcJLQZm>nrM$8{I3#9a8PP+Y(mn zgrJpcHqf_R?GCG*9RXy(rxt^zn~A5a89US3@X_XACa$I3?8(2y6ZEF*T@oiiEp%c1 zbZ$Ql)Zv#$IDlHsZnFXb7(ye!{R^0?K>FeiZG>ap9-CD;H72K`^zfa~R0;}-Tku#f zghNR?%_l`VyWZ+Km@l19s-brmY_B~w>rgNbM~YHoGBsN(l+j@iunpIC3zzRi;<7uk zy*U>4;(i`Cwd%okm&R;Uh2Yk*M49W(H8A%Z3I8zkwQH2iqxreUX?{sQWEo#4mQyIs zp;^B2oc*Q#%#heV#86br`8bNi4=ES_gsN6*zOXpV#qoh6i_; z2hDHmJ5SM;gACX1kkk)b6{+>^t1?_te?e_6Cz6C4RU_S;3!EzH_DeLnMI5B=hS!T^ zrH2{Is+oJwCOYf* zp-8Sjf*+ntFZ%Q6tP4$8%6N7Ax3-HrNnFr5Ne#QdmA5U(F)H0f=)zkYc5Q0uZr$n= zPHw5t1{W+i80X=sn8H6pos9BL&)RT4R9FHA(;+GMr?iz7Ehw>dM}G)|RRaQBH+UV* z#+hv}r?O8#m5Ab`Do4H$`*GdW?}r0hdvgjq*x_kJOc(|rp2f5U834xNq^JIl9j z3Ny@1SQ4#Kf-3H`C;9$i`3P^$QZo7bx5_5d6$>rB#xt8cE2!sd9r~}4jG_4E0EIq> zTZns?`-KEI`WgZNk7IDjb3nsvkB2b8u(Q7IU3NO1C-%)ga`3dh@4GA!qFm7g$oEo; zc9=}hO>jPdbRq0<&TWZ}?+zEteCtDa0>K_25icQ6zCmg5^UYV{*cCl})QNF}tK~^* zH0BKf7n1TPH|^9s41nkMwRTicds2GdTz&fH`mDYE=kW(4x+oP+B^>kmWd`ihUahaQ zT(MFb+Vmo~S|3?e@is&ij2GjM{`u^^$5rO)^3qdsv#H`nb1}PFb&3YVZfC(ZJS)EnQf8miDgG>ugO(=Hw_gVP9S!4=Dk%|>E^@4LloUX~;Q5#>@Hz|(5moU6 zl5Pbw&ORvWT=IMfm?94wRcqUk|2a^cfDeKVThJ@|46Mjr)MT5 zRj@=gyEV)N3@PJh94d(HxBrffiWb~1kMQjd-k5v%+?D3~o;~aKTAL_iMv()NNA`>p zH6ci7D@8b~Ykm|~H1F&|wxIfmjzo8p>JVpgh#3h1>1}MxU{m_%v{$a63zG-W9>Lm` z&B&-VKd37c(zuQwRz#vkrgEv!my|IW`v!9dvTgY3tB3PRjW(Zr#K6(FK*8DO-F}Jj z=R;8-J3#$u#nawh&ok)Vt-XK|Pv%UX0=YMtZJ>Cp2NS5|47+S~-@ZWuMI5~T#06e( z8H&>a0zsTFe!X9d^BwpwU;j5t`C;Idxxv|bE2tgi@HESTA#}#Or+XkhPN7i`)NA!iN*}4E;83( zlfg5ThYO0vB`za0S?D@GH7XjswVQWlJeTi%iZ(h}q3;QQHF#iYC+*o)m^aFr)7$M% zgc%$al9y{Ri=MhCB@lpft32u3Hi_K`NwdqAqH4fWuu1^ z2~j^xMoVpz~#4Sq2jSUK4cL0jml<#+$FRLvEIc~q` zXj)K;k}E0vs)({%6V%z`+O_&rljhxa@2y=p<%;lX!oh5gtsa0oSh2pS@ojg$wK4nZ z`=wLMKZ$O6NtsSfJmwXi>av!%mU-%fotIeb9;89DQReZy%HRyrDV_LN5F z^}a%R2C)UqC2lTMSoStLHJ1foeKNGE2XgVB+Y*heIHm8rRdSM>PW6HhVPG;0 z&DLsPz9mPHcyG6HFk!D7?=&Hb=@2NF;%1Iaa}}UPorZVv;&p#c&^wMBI>BK&Wzq9o zDH{P+(H9R1jv?C}dLUP?jQe5@)IW%HQR0I`q>^R13Xk*5WtUOerHix7^%{A@6?#F; z=rN~l@NKV!NDxq!8+4htWP>%cp{yVa24wc>!#fRLw zm>^kE<9B`p#hW$72jY%kpAl5yA*G)azWQG~W-J3EUq9dnj zpNuFL5{Ec#SUYW6+4kY9wV_B`kLT$~WvzxYV_M`hi&d?$S*ISuxJRmu<&*9U!7geY zM#fd{Le(tJBWr8mG>n^HSk4K4gllg8^a2>^CEHy|%gcj-3@zNr->WnDgwV?y!%vOv!%y)A2()2}ltxD@TL&)2xCy_l z;E>KQY%A)89nRJ(+gKv+_;p515|N^)lnnagahDHC^Y(iCr22yEJxzB?s20wry8;Jh za8(h`X){zBrh1-pwr#3iD`s@(rbztV5r(hk$bg$CfnpJ7C$G{1IYdJLBqa9JyMLeb zpIXS>uIU;z@OQG{@8rX;V4;(9^K|U-LTyLc(r&r=cJ$|ZUO2|UW7H+1-fS)J@8#JDR_ncmIN=|svpObPbJx}bW zm6jIVc>=`oXplpJR*ZhLRPp?mbm?;}I3ca^xKYyEpA*=4?SNL{(JV8UnpXq#N7 zL%5k~To-qHR&kg-((LPW|Mg!v6PppMqQ?b_PskS@&;^RajVS@4Rg1r{aEKTqbcVO| z<5EU-k-HfSrUnwu$E`d0=`UEwPhMNR_BDwXvc`yi-W!ep(vs0G-hzYgoxi*QDb_m9 zc!d@!G^M~g6ZZ8!hZ`N|Q1;44V*5LCU2&d|RM5kxTnxJ@-j-80A&ID9zaw^=Pp%wB zj~ZS0lB4+)Tgcf-MSYLay-Cn3XFRLXDAa1|=2A#m<u4c}yD^anm`7Cipx zcyMDpNS>hazST6(zh@n_>M7VB1A#P#QNnu>+(?oC?1cVw{HOc}+hjkz??&hhjm8&0 z6rg+dGStI+z}W;Bo4G6x$>A9#OmB}ck0yP6cMw*zn7D3MZN<#I z4x&7{7=?x#{q$;L5kiREn91?nu))JKu9a3l?GBx;vKqI8iCJ zkA95j78q=wUbf6vY1<@q1s-wR&uvBqRILEcta=`3kT=w)q~sqOU$Uw!(~C%W0#mW+ z0aN+ZP*fdN87I!p+@A^}4&k_bmXC+D4WatvRJ}2N15VHP<)KuM63OdW?CLvayYSW; zRhU+p1EFG0LZ~ff+FaX~#3*rKk9pvJ;^awX$2ABd%-cRYZT(!O;S!`HGchr+3)6<_ z>@Il`+vZG&p~(1%_m|SX++2IVQ!;(etoHbW!I*O}pBniTOi#h)2-phr%ZF-XvNkh`h)2K{Z_JA!;om_AVY|Yfj9&6K2nw1XgEyU!Sbg& zt_>rz@3uE%x)3oDSw=-`ns7Gd$VBK2cRe1odIL0Vn;d<6|jvaiVsRMOdaCPmlIh021OW~fm`(XnyqU3As@F&P~)iW00~ z7sUq|!-ZDA+F=5MBR1bS^Y+$;Zs~X#IST46H_yWtIC=5+I(*&{E3n^^W^y36 z+)&Bw{6nO-Nlcno=#QUW{i_a)1?5lOh6AWQ3rnv87`SA6vo;|YBE*ZglEIhe`Op6T z0uZZ($3~;^Q1?TJcNv-^eu;#|M>%f2iloDFx3SuKnQgDl&xjq$=|wgW?nLYX(`=eT zl};GRLY;ia7g@#%Sk0A7FeM=-Y1TcMCTX>6dZb2&okNF zI2g;J^rb~Wr`gspOt3Fc8?iV;ZX(rz(x}V*(P8N{a?JizZB14{M8@C9gN-)bS5h{L zLdEQw26sH5cPadG2p5XEZB8>ps=TwYOnsk$dO+``@VD}0NJ@T8(aTc_(9V`WU!F7p zfc1MX9vyn7GI*;UA#7JMGE-+i*RwCWSdPK&lA?@Ttn8=|EC9vJ0?2i!{kn%MempX( zHJ?qfKg(&Un^BFMk;!tfaLJ(}op&>-weHCu_r682JCFNNLlxmo%V%)6#m{W6!jKp; z%ap@Lu!l7@F>lH;gp%%vYZvd^eJeXceWZD3=WgZ2@Lik-57$U0o)Q2w{$kibSL=C< zSVOn|NSqT&2%3w7`-!%WT-P5!){Rz6&Vh z6qoV!B>#06j~aF;-#U`4r^^UYx{qyCE4VfW3HyunS*jul4UXlbOFI!S;gO*(SE2m2 zipIg!AVc?)U4l(%=hm))jk)uaOC=S$bX$6X;`v%iWm-$B+@iwU*FPCw!dVs^)Ag~r z1$R!di|X`f%v*a;VB3xd3t{naVkX+{2#h+SWJarvota^2zYRm#GElcWTFcE@E|rbY zQHPHNLj}g53Eo1wFC5TFy7-85`d^ zv%xf8G#6cC3Z}o^qNZ5A1Q30M7Sfldf2N0Pr>u-OD6xMr`}|^rE89N)04givs;gwZ zH(*bYNarSL^MwhsaJJ+TFx}X=fmi`d;x>pQ7*gn=T~b$81C!5qonwh}Yx%WA$|z}Q zvOkW;-iAG_=4y8h7NA)Vt6OAFDcsj)DHbQ6%-WooX>etuC6%|4B@YONjjN6#I0 z(@x=Mu7}1aSAkf#xeoZ*s|N zrqR0VPtbp1y$VNOtv9mhcFkPDrL1IA$s{xojR12=)7d^p9A&!aRt?4CspZjKQi3(~ zNJGTxj|~k5)096ve0Y{D`3gKk-kd(m+Q(AR9|dn!

p9z1W4H^FFel#~FEWvDg?~ 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

R^yQnT&xj}dNQHtC{~_whnzb+)wKLBa{tw2 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

!$!hLRcL%h2wD3R{g6q^-P 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%0A`nSi1y|)-C^=a3 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 literal 136206 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 V9CvFz4EJ$; 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 screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -352,9 +415,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,9 +436,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -386,7 +457,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -401,9 +472,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -418,9 +493,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -435,9 +514,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -452,7 +535,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -467,9 +550,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -484,7 +571,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -499,9 +586,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -516,9 +607,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -533,9 +628,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -550,7 +649,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -565,9 +664,13 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -582,7 +685,7 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -597,9 +700,13 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -614,7 +721,7 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> Co55 @@ -629,9 +736,13 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.9219 + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -646,7 +757,7 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -661,9 +772,13 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -678,7 +793,7 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -693,9 +808,13 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -710,7 +829,7 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> Cu59 @@ -725,9 +844,13 @@ void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.2921 + -94.1404 * tfactors.T913i + -2.62786 * tfactors.T913 + -2.12066 * tfactors.T9 + 0.237999 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * -2.62786 * tfactors.T923i + -2.12066 + (5.0/3.0) * 0.237999 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -742,7 +865,7 @@ void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + He4 --> Zn60 @@ -757,9 +880,13 @@ void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.0733 + -96.4898 * tfactors.T913i + 6.47209 * tfactors.T913 + -5.2029 * tfactors.T9 + 0.533391 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.4898 * tfactors.T943i + (1.0/3.0) * 6.47209 * tfactors.T923i + -5.2029 + (5.0/3.0) * 0.533391 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -774,7 +901,7 @@ void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + p --> Zn60 @@ -789,9 +916,13 @@ void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.226 + -39.9808 * tfactors.T913i + 1.17311 * tfactors.T913 + -2.90486 * tfactors.T9 + 0.339644 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 1.17311 * tfactors.T923i + -2.90486 + (5.0/3.0) * 0.339644 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,7 +937,7 @@ void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -821,9 +952,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -838,7 +973,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -853,9 +988,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -870,7 +1009,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -885,9 +1024,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -902,7 +1045,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -917,9 +1060,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -934,7 +1081,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -949,9 +1096,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -966,7 +1117,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -981,9 +1132,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -998,7 +1153,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -1013,9 +1168,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1030,7 +1189,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -1045,9 +1204,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1062,9 +1225,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1079,9 +1246,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1096,7 +1267,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -1111,9 +1282,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1128,9 +1303,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1145,9 +1324,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1162,7 +1345,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -1177,9 +1360,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1194,9 +1381,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1211,9 +1402,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1228,7 +1423,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -1243,9 +1438,13 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1260,7 +1459,7 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -1275,9 +1474,13 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1292,7 +1495,7 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + p --> He4 + Ni56 @@ -1307,9 +1510,13 @@ void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.7688 + -39.9808 * tfactors.T913i + 13.6773 * tfactors.T913 + -3.76429 * tfactors.T9 + 0.438096 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 13.6773 * tfactors.T923i + -3.76429 + (5.0/3.0) * 0.438096 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1324,7 +1531,7 @@ void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1339,9 +1546,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1356,9 +1567,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1373,9 +1588,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1390,7 +1609,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -1405,9 +1624,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1422,9 +1645,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1439,9 +1666,13 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1456,7 +1687,7 @@ void rate_He4_N14_to_F18_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -1471,9 +1702,13 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1488,7 +1723,7 @@ void rate_p_O16_to_F17_removed(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -1503,9 +1738,13 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1520,7 +1759,7 @@ void rate_C12_C12_to_n_Mg23_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> n + S31 @@ -1535,9 +1774,13 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1552,7 +1795,7 @@ void rate_O16_O16_to_n_S31_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> n + Si27 @@ -1567,9 +1810,13 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1584,7 +1831,7 @@ void rate_C12_O16_to_n_Si27_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + p --> Fe56 @@ -1599,9 +1846,13 @@ void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: 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; + ln_set_rate += log_scor; + 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; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1616,7 +1867,7 @@ void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> Fe53 @@ -1631,9 +1882,13 @@ void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8885 + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1648,7 +1903,7 @@ void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> Fe54 @@ -1663,9 +1918,13 @@ void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.4534 + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1680,7 +1939,7 @@ void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + He4 --> Ni57 @@ -1695,9 +1954,13 @@ void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 69.0636 + -91.7231 * tfactors.T913i + -10.1816 * tfactors.T913 + -0.0406303 * tfactors.T9 + 0.0345056 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * -10.1816 * tfactors.T923i + -0.0406303 + (5.0/3.0) * 0.0345056 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1712,7 +1975,7 @@ void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> Fe55 @@ -1727,9 +1990,13 @@ void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.80864 + 0.0591716 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -9.78317 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0591716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -9.78317 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1744,7 +2011,7 @@ void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p --> Co55 @@ -1759,9 +2026,13 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2304 + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1776,7 +2047,7 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> Ni58 @@ -1791,9 +2062,13 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.2478 + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1808,7 +2083,7 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> Fe56 @@ -1823,9 +2098,13 @@ void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7202 + -0.0955677 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 6.47093 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0955677 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 6.47093 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1840,7 +2119,7 @@ void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + p --> Co56 @@ -1855,9 +2134,13 @@ void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.7333 + -37.1585 * tfactors.T913i + 1.66198 * tfactors.T913 + -1.60842 * tfactors.T9 + 0.148916 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1585 * tfactors.T943i + (1.0/3.0) * 1.66198 * tfactors.T923i + -1.60842 + (5.0/3.0) * 0.148916 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1872,7 +2155,7 @@ void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p --> Co57 @@ -1887,9 +2170,13 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0665 + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1904,7 +2191,7 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> Co56 @@ -1919,9 +2206,13 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.065 + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1936,7 +2227,7 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> Co57 @@ -1951,9 +2242,13 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.3552 + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1968,7 +2263,7 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + p --> Ni57 @@ -1983,9 +2278,13 @@ void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.5937 + -38.1094 * tfactors.T913i + 2.57091 * tfactors.T913 + -2.07795 * tfactors.T9 + 0.20757 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1094 * tfactors.T943i + (1.0/3.0) * 2.57091 * tfactors.T923i + -2.07795 + (5.0/3.0) * 0.20757 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2000,7 +2299,7 @@ void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> Ni58 @@ -2015,9 +2314,13 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0159 + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2032,7 +2335,7 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> Ni57 @@ -2047,9 +2350,13 @@ void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.0765 + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2064,7 +2371,7 @@ void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> Ni58 @@ -2079,9 +2386,13 @@ void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2731 + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2096,7 +2407,7 @@ void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + p --> Cu59 @@ -2111,9 +2422,13 @@ void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.6662 + -39.0526 * tfactors.T913i + 1.0436 * tfactors.T913 + -2.10834 * tfactors.T9 + 0.239559 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0526 * tfactors.T943i + (1.0/3.0) * 1.0436 * tfactors.T923i + -2.10834 + (5.0/3.0) * 0.239559 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2128,7 +2443,7 @@ void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> p + Fe54 @@ -2143,9 +2458,13 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2777 + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2160,7 +2479,7 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + He4 --> p + Co56 @@ -2175,9 +2494,13 @@ void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 54.8614 + -91.7231 * tfactors.T913i + 10.052 * tfactors.T913 + -3.86332 * tfactors.T9 + 0.391105 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * 10.052 * tfactors.T923i + -3.86332 + (5.0/3.0) * 0.391105 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2192,7 +2515,7 @@ void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> p + Mn55 @@ -2207,9 +2530,13 @@ void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 4.70639 + 7.03052 * tfactors.T913 + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; + ln_set_rate += log_scor; + 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; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2224,7 +2551,7 @@ void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> p + Fe55 @@ -2239,9 +2566,13 @@ void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.7398 + -1.62382 * tfactors.T913 + 0.58115 * tfactors.T9 + -0.0537057 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.62382 * tfactors.T923i + 0.58115 + (5.0/3.0) * -0.0537057 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2256,7 +2587,7 @@ void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> p + Ni58 @@ -2271,9 +2602,13 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.2281 + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2288,7 +2623,7 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> p + Fe56 @@ -2303,9 +2638,13 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4539 + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2320,7 +2659,7 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> He4 + Fe54 @@ -2335,9 +2674,13 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.1962 + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2352,7 +2695,7 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> p + Co56 @@ -2367,9 +2710,13 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.5693 + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2384,7 +2731,7 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> He4 + Fe53 @@ -2399,9 +2746,13 @@ void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.84393 + 6.43259 * tfactors.T913 + 2.29591 * tfactors.T9 + -0.254724 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.43259 * tfactors.T923i + 2.29591 + (5.0/3.0) * -0.254724 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2416,7 +2767,7 @@ void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> p + Co57 @@ -2431,9 +2782,13 @@ void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.9939 + -1.13177 * tfactors.T913 + 0.56875 * tfactors.T9 + -0.0579913 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13177 * tfactors.T923i + 0.56875 + (5.0/3.0) * -0.0579913 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2448,7 +2803,7 @@ void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> He4 + Fe54 @@ -2463,9 +2818,13 @@ void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.5327 + 0.48562 * tfactors.T913 + -0.0249302 * tfactors.T9 + 0.0509605 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.48562 * tfactors.T923i + -0.0249302 + (5.0/3.0) * 0.0509605 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2480,7 +2839,7 @@ void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + n --> He4 + Fe55 @@ -2495,9 +2854,13 @@ void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.03901 + 3.44996 * tfactors.T913 + 2.98226 * tfactors.T9 + -0.387699 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 3.44996 * tfactors.T923i + 2.98226 + (5.0/3.0) * -0.387699 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2512,7 +2875,7 @@ void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + n --> He4 + Co56 @@ -2527,9 +2890,13 @@ void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.0108 + -1.00882 * tfactors.T913 + 1.88993 * tfactors.T9 + -0.202319 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.00882 * tfactors.T923i + 1.88993 + (5.0/3.0) * -0.202319 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2544,7 +2911,7 @@ void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + n --> He4 + Ni57 @@ -2559,9 +2926,13 @@ void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.4241 + 5.43552 * tfactors.T913 + -1.25169 * tfactors.T9 + 0.148383 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.43552 * tfactors.T923i + -1.25169 + (5.0/3.0) * 0.148383 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2576,7 +2947,7 @@ void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -2591,9 +2962,13 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2608,7 +2983,7 @@ void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -2623,9 +2998,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2640,9 +3019,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2657,9 +3040,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2674,9 +3061,13 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2691,7 +3082,7 @@ void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -2706,9 +3097,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2723,9 +3118,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2740,9 +3139,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2757,9 +3160,13 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2774,7 +3181,7 @@ void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -2789,9 +3196,13 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2806,7 +3217,7 @@ void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -2821,9 +3232,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2838,9 +3253,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2855,9 +3274,13 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2872,7 +3295,7 @@ void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -2887,9 +3310,13 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2904,7 +3331,7 @@ void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -2919,9 +3346,13 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2936,7 +3367,7 @@ void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -2951,9 +3382,13 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2968,7 +3403,7 @@ void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -2983,9 +3418,13 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3000,7 +3439,7 @@ void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -3015,9 +3454,13 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3032,7 +3475,7 @@ void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -3047,9 +3490,13 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3064,7 +3511,7 @@ void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -3079,9 +3526,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3096,9 +3547,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3113,9 +3568,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3130,9 +3589,13 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3147,47 +3610,47 @@ void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_Ne20_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + 1.5 He4 --> Ne20 (calls the underlying rate) - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_N14_He4_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p + p --> N14 + He4 (calls the underlying rate) - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> Mg24 (calls the underlying rate) - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> S32 (calls the underlying rate) - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> Si28 (calls the underlying rate) - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); } @@ -3353,510 +3816,1242 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; - - } - rate_p_Mn51_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; - - } - rate_p_Co55_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; - - } - rate_He4_Co55_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = drate_dT; - - } - rate_He4_Ni56_to_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = drate_dT; - - } - rate_p_Cu59_to_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; - - } - rate_p_Cu59_to_He4_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; - - } - rate_p_O16_to_F17_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; - - } - rate_O16_O16_to_n_S31_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; - - } - rate_C12_O16_to_n_Si27_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; - - } - rate_p_Mn55_to_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = drate_dT; - - } - rate_n_Fe52_to_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_reaclib) = drate_dT; - - } - rate_n_Fe53_to_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_reaclib) = drate_dT; - - } - rate_He4_Fe53_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = drate_dT; - - } - rate_n_Fe54_to_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_reaclib) = drate_dT; - - } - rate_p_Fe54_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; - - } - rate_n_Fe55_to_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_reaclib) = drate_dT; - - } - rate_p_Fe55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = drate_dT; - - } - rate_p_Fe56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; - - } - rate_n_Co55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; - - } - rate_n_Co56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; - - } - rate_p_Co56_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = drate_dT; - - } - rate_p_Co57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; - - } - rate_n_Ni56_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_reaclib) = drate_dT; - - } - rate_n_Ni57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_reaclib) = drate_dT; - - } - rate_p_Ni58_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; - - } - rate_He4_Fe53_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = drate_dT; - - } - rate_n_Fe55_to_p_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_p_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_p_Mn55_reaclib) = drate_dT; - - } - rate_n_Co55_to_p_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_p_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_p_Fe55_reaclib) = drate_dT; - - } - rate_He4_Co55_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; - - } - rate_n_Co56_to_p_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; - - } - rate_p_Co57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_n_Ni56_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; - - } - rate_n_Ni56_to_He4_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_He4_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_He4_Fe53_reaclib) = drate_dT; - - } - rate_n_Ni57_to_p_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_p_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_p_Co57_reaclib) = drate_dT; - - } - rate_n_Ni57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_n_Ni58_to_He4_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni58_to_He4_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni58_to_He4_Fe55_reaclib) = drate_dT; - - } - rate_n_Cu59_to_He4_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu59_to_He4_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu59_to_He4_Co56_reaclib) = drate_dT; - - } - rate_n_Zn60_to_He4_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn60_to_He4_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn60_to_He4_Ni57_reaclib) = drate_dT; - - } - rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; - - } - rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; - - } - rate_He4_N14_to_Ne20_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; - - } - rate_p_O16_to_N14_He4_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; - - } - rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; - - } - rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni56); + } +#endif + rate_He4_Ni56_to_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu59); + } +#endif + rate_p_Cu59_to_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu59); + } +#endif + rate_p_Cu59_to_He4_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_n_S31_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_n_S31_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_n_S31_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_n_Si27_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_n_Si27_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_n_Si27_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn55); + } +#endif + rate_p_Mn55_to_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe55); + } +#endif + rate_p_Fe55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_p_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_p_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_p_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_p_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_p_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_p_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_p_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_He4_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_He4_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_He4_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_p_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_p_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_p_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni58_to_He4_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni58_to_He4_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni58_to_He4_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu59_to_He4_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu59_to_He4_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu59_to_He4_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn60_to_He4_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn60_to_He4_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn60_to_He4_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_removed(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_Ne20_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_Ne20_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_Ne20_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_N14_He4_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_N14_He4_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_N14_He4_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_Mg24_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_S32_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_Si28_modified(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + } } - rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; - } } @@ -3876,51 +5071,51 @@ fill_approx_rates([[maybe_unused]] const tf_t& tfactors, rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; - } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; - } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; - } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; - } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; - } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; - } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; - } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; if constexpr (std::is_same_v) { rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; - } + } #endif diff --git a/networks/ignition_reaclib/C-burn-simple/actual_network.H b/networks/ignition_reaclib/C-burn-simple/actual_network.H index ef34748c5..18423f7f0 100644 --- a/networks/ignition_reaclib/C-burn-simple/actual_network.H +++ b/networks/ignition_reaclib/C-burn-simple/actual_network.H @@ -145,6 +145,14 @@ namespace Rates NumRates = k_n_to_p_weaktab }; + enum ScreenPairs : + std::uint8_t + { + k_C12_C12 = 1, + k_He4_C12 = 2, + NumScreenPairs = k_He4_C12 + }; + // 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 // NetworkRates enum diff --git a/networks/ignition_reaclib/C-burn-simple/actual_rhs.H b/networks/ignition_reaclib/C-burn-simple/actual_rhs.H index b11c72d7d..4dae7ec64 100644 --- a/networks/ignition_reaclib/C-burn-simple/actual_rhs.H +++ b/networks/ignition_reaclib/C-burn-simple/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,71 +64,63 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - const tf_t tfactors = evaluate_tfactors(state.T); + amrex::Real log_scor, dlog_scor_dT; - fill_reaclib_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); + static_assert(scn_fac.z1 == 6.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } + } - temp_tabular::fill_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } + } - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); +} +#endif -#ifdef SCREENING - // Evaluate screening factors +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + // here Y is consistent with state.xn + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - { - constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); - static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + const tf_t tfactors = evaluate_tfactors(state.T); - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Precompute screening terms - ratraw = rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Fill in different rates + fill_reaclib_rates(tfactors, rate_eval); - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + temp_tabular::fill_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); -#endif // Fill approximate rates diff --git a/networks/ignition_reaclib/C-burn-simple/pynucastro-info.txt b/networks/ignition_reaclib/C-burn-simple/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/ignition_reaclib/C-burn-simple/pynucastro-info.txt +++ b/networks/ignition_reaclib/C-burn-simple/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/ignition_reaclib/C-burn-simple/reaclib_rates.H b/networks/ignition_reaclib/C-burn-simple/reaclib_rates.H index 17133c216..60049a020 100644 --- a/networks/ignition_reaclib/C-burn-simple/reaclib_rates.H +++ b/networks/ignition_reaclib/C-burn-simple/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -39,9 +46,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,7 +67,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -71,9 +82,13 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -88,7 +103,7 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -103,9 +118,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -120,7 +139,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -135,9 +154,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -152,9 +175,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -178,31 +205,71 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } } - rate_C12_C12_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + } } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } } + } template diff --git a/networks/ignition_reaclib/URCA-medium/actual_network.H b/networks/ignition_reaclib/URCA-medium/actual_network.H index 6be2f894d..53d4afeed 100644 --- a/networks/ignition_reaclib/URCA-medium/actual_network.H +++ b/networks/ignition_reaclib/URCA-medium/actual_network.H @@ -180,6 +180,22 @@ namespace Rates NumRates = k_p_to_n_weaktab }; + enum ScreenPairs : + std::uint8_t + { + k_p_C12 = 1, + k_He4_C12 = 2, + k_He4_O16 = 3, + k_He4_Ne20 = 4, + k_p_Na23 = 5, + k_C12_C12 = 6, + k_He4_N13 = 7, + k_C12_O16 = 8, + k_He4_He4 = 9, + k_He4_Be8 = 10, + NumScreenPairs = k_He4_Be8 + }; + // 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 // NetworkRates enum diff --git a/networks/ignition_reaclib/URCA-medium/actual_rhs.H b/networks/ignition_reaclib/URCA-medium/actual_rhs.H index d28863d74..be87356a3 100644 --- a/networks/ignition_reaclib/URCA-medium/actual_rhs.H +++ b/networks/ignition_reaclib/URCA-medium/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,191 +64,144 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; - } +} +#endif + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/ignition_reaclib/URCA-medium/pynucastro-info.txt b/networks/ignition_reaclib/URCA-medium/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/ignition_reaclib/URCA-medium/pynucastro-info.txt +++ b/networks/ignition_reaclib/URCA-medium/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/ignition_reaclib/URCA-medium/reaclib_rates.H b/networks/ignition_reaclib/URCA-medium/reaclib_rates.H index ed706619d..109545e03 100644 --- a/networks/ignition_reaclib/URCA-medium/reaclib_rates.H +++ b/networks/ignition_reaclib/URCA-medium/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -39,9 +46,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,9 +67,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -73,7 +88,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -88,9 +103,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -105,9 +124,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -122,7 +145,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -137,9 +160,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -154,9 +181,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -171,9 +202,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -188,7 +223,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -203,9 +238,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -220,9 +259,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -237,9 +280,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -254,9 +301,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -271,7 +322,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -286,9 +337,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -303,9 +358,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -320,9 +379,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -337,7 +400,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> Mg24 @@ -352,9 +415,13 @@ void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7.00613 + 2.66964 * tfactors.T913 + -0.448904 * tfactors.T9 + 0.0326505 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.66964 * tfactors.T923i + -0.448904 + (5.0/3.0) * 0.0326505 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -369,7 +436,7 @@ void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -384,9 +451,13 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -401,7 +472,7 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -416,9 +487,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -433,7 +508,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -448,9 +523,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -465,7 +544,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -480,9 +559,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -497,7 +580,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -512,9 +595,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -529,7 +616,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> p + Na23 @@ -544,9 +631,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.37772 + -29.8896 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.8896 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -561,9 +652,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.227472 + -29.4348 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.4348 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -578,9 +673,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.1852 + -27.5738 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.5738 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -595,7 +694,7 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -610,9 +709,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -627,9 +730,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -644,9 +751,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -661,7 +772,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> p + Na23 @@ -676,9 +787,13 @@ void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4638 + 0.993488 * tfactors.T913 + -0.257094 * tfactors.T9 + 0.0284334 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.993488 * tfactors.T923i + -0.257094 + (5.0/3.0) * 0.0284334 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -693,7 +808,7 @@ void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> He4 + Ne20 @@ -708,9 +823,13 @@ void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.7448 + 1.83199 * tfactors.T913 + -0.290485 * tfactors.T9 + 0.0242929 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.83199 * tfactors.T923i + -0.290485 + (5.0/3.0) * 0.0242929 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -725,7 +844,7 @@ void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> C12 + C12 @@ -740,9 +859,13 @@ void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8267 + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -757,7 +880,7 @@ void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -772,9 +895,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -789,9 +916,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -806,9 +937,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -832,108 +967,254 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_n_Mg23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_Mg24_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_n_Mg23_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_p_Na23_reaclib) = drate_dT; - - } - rate_n_Mg23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_n_Mg23_to_C12_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_C12_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_C12_C12_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_C12_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_C12_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_C12_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - } } diff --git a/networks/ignition_reaclib/URCA-medium/urca_medium.png b/networks/ignition_reaclib/URCA-medium/urca_medium.png index 9dac468f2703581193ad391126e21bde34641750..9a3aa251d0dda8a144a9db76f9d3f4eeb04cd307 100644 GIT binary patch literal 67829 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

W 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%0D%I{3o{!DOH8OS7a`{_8hZz*BvU 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 z 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 Kk;<3U^ZOs9CjK1& diff --git a/networks/ignition_reaclib/URCA-simple/actual_network.H b/networks/ignition_reaclib/URCA-simple/actual_network.H index 6734ac37c..18f93b49a 100644 --- a/networks/ignition_reaclib/URCA-simple/actual_network.H +++ b/networks/ignition_reaclib/URCA-simple/actual_network.H @@ -154,6 +154,14 @@ namespace Rates NumRates = k_p_to_n_weaktab }; + enum ScreenPairs : + std::uint8_t + { + k_C12_C12 = 1, + k_He4_C12 = 2, + NumScreenPairs = k_He4_C12 + }; + // 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 // NetworkRates enum diff --git a/networks/ignition_reaclib/URCA-simple/actual_rhs.H b/networks/ignition_reaclib/URCA-simple/actual_rhs.H index aad36edc0..49099d5b9 100644 --- a/networks/ignition_reaclib/URCA-simple/actual_rhs.H +++ b/networks/ignition_reaclib/URCA-simple/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,71 +64,63 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - const tf_t tfactors = evaluate_tfactors(state.T); + amrex::Real log_scor, dlog_scor_dT; - fill_reaclib_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); + static_assert(scn_fac.z1 == 6.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } + } - temp_tabular::fill_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } + } - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); +} +#endif -#ifdef SCREENING - // Evaluate screening factors +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + // here Y is consistent with state.xn + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - { - constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); - static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + const tf_t tfactors = evaluate_tfactors(state.T); - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Precompute screening terms - ratraw = rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Fill in different rates + fill_reaclib_rates(tfactors, rate_eval); - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + temp_tabular::fill_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); -#endif // Fill approximate rates diff --git a/networks/ignition_reaclib/URCA-simple/pynucastro-info.txt b/networks/ignition_reaclib/URCA-simple/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/ignition_reaclib/URCA-simple/pynucastro-info.txt +++ b/networks/ignition_reaclib/URCA-simple/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/ignition_reaclib/URCA-simple/reaclib_rates.H b/networks/ignition_reaclib/URCA-simple/reaclib_rates.H index 17133c216..60049a020 100644 --- a/networks/ignition_reaclib/URCA-simple/reaclib_rates.H +++ b/networks/ignition_reaclib/URCA-simple/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -39,9 +46,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,7 +67,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -71,9 +82,13 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -88,7 +103,7 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -103,9 +118,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -120,7 +139,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -135,9 +154,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -152,9 +175,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -178,31 +205,71 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } } - rate_C12_C12_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + } } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } } + } template diff --git a/networks/nova-li/actual_network.H b/networks/nova-li/actual_network.H index 452612048..c58b6176d 100644 --- a/networks/nova-li/actual_network.H +++ b/networks/nova-li/actual_network.H @@ -296,6 +296,48 @@ namespace Rates NumRates = k_Ne19_to_F19_weaktab }; + enum ScreenPairs : + std::uint8_t + { + k_p_p = 1, + k_p_d = 2, + k_d_d = 3, + k_p_He3 = 4, + k_He4_He3 = 5, + k_He4_Li7 = 6, + k_p_Be7 = 7, + k_p_B11 = 8, + k_p_C12 = 9, + k_He4_C12 = 10, + k_p_C13 = 11, + k_p_N13 = 12, + k_p_N14 = 13, + k_He4_N14 = 14, + k_p_N15 = 15, + k_He4_N15 = 16, + k_He4_O14 = 17, + k_He4_O15 = 18, + k_p_O16 = 19, + k_He4_O16 = 20, + k_p_O17 = 21, + k_He4_O17 = 22, + k_p_O18 = 23, + k_p_F17 = 24, + k_p_F18 = 25, + k_p_F19 = 26, + k_d_He3 = 27, + k_p_Li7 = 28, + k_He4_N13 = 29, + k_He4_F17 = 30, + k_He4_F18 = 31, + k_He3_He3 = 32, + k_d_Be7 = 33, + k_He3_Be7 = 34, + k_He4_He4 = 35, + k_He4_Be8 = 36, + NumScreenPairs = k_He4_Be8 + }; + // 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 // NetworkRates enum diff --git a/networks/nova-li/actual_rhs.H b/networks/nova-li/actual_rhs.H index bb455ba18..3b095baf1 100644 --- a/networks/nova-li/actual_rhs.H +++ b/networks/nova-li/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,583 +64,404 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 1.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_p_to_d_reaclib_bet_pos); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_p) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_p) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 2.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_d_to_He3_reaclib); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_d) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 1.0_rt, 2.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_d_d_to_He4_reaclib); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_d) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_He3_to_He4_reaclib); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 3.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Li7) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib); - rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 7.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_Be7_to_B8_reaclib); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 5.0_rt, 11.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_B11_to_C12_reaclib); - rate_eval.screened_rates(k_p_B11_to_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib); - rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_B11) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_B11) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.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_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.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_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.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_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_F19_reaclib); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O15) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.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_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_F19_reaclib); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.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_F17_to_Ne18_reaclib); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.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_F18_to_Ne19_reaclib); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 3.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Li7) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib); - rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_Be7) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; - } +} +#endif + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/nova-li/nova-li.png b/networks/nova-li/nova-li.png index 35d9089e59b3b81175e87a4366a715db8d12b5db..ad160c991a65b6cd60a63559ffd4fe86ad3f59ee 100644 GIT binary patch literal 60075 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 F{{iXA`*r{T literal 59687 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 B_7eaA diff --git a/networks/nova-li/pynucastro-info.txt b/networks/nova-li/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/nova-li/pynucastro-info.txt +++ b/networks/nova-li/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/nova-li/reaclib_rates.H b/networks/nova-li/reaclib_rates.H index 5ea7dfc34..f6bf48144 100644 --- a/networks/nova-li/reaclib_rates.H +++ b/networks/nova-li/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 --> Li7 @@ -39,9 +46,13 @@ void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -23.8328 + 3.02033 * tfactors.T913 + -0.0742132 * tfactors.T9 + -0.00792386 * tfactors.T953 + -0.650113 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 3.02033 * tfactors.T923i + -0.0742132 + (5.0/3.0) * -0.00792386 * tfactors.T923 + -0.650113 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,7 +67,7 @@ void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -71,8 +82,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -87,7 +102,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -102,8 +117,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -118,7 +137,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -133,8 +152,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,7 +172,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 --> p + Be7 @@ -163,8 +186,12 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re // nacrr ln_set_rate = 31.0163 + -8.93482 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.93482 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -179,9 +206,13 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 35.8138 + -1.58982 * tfactors.T9i + -10.264 * tfactors.T913i + -0.203472 * tfactors.T913 + 0.121083 * tfactors.T9 + -0.00700063 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.58982 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.264 * tfactors.T943i + (1.0/3.0) * -0.203472 * tfactors.T923i + 0.121083 + (5.0/3.0) * -0.00700063 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -196,7 +227,7 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 --> He4 + He4 @@ -211,8 +242,12 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -0.105148; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -227,7 +262,7 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 --> p + O16 @@ -242,9 +277,13 @@ void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.9135 + -6.96583 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.96583 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -259,7 +298,7 @@ void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -274,9 +313,13 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -34.7863 + -3.51193 * tfactors.T913i + 3.10086 * tfactors.T913 + -0.198314 * tfactors.T9 + 0.0126251 * tfactors.T953 + -1.02517 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.51193 * tfactors.T943i + (1.0/3.0) * 3.10086 * tfactors.T923i + -0.198314 + (5.0/3.0) * 0.0126251 * tfactors.T923 + -1.02517 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -291,7 +334,7 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -306,9 +349,13 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r ln_set_rate = -43.6499 + -0.00246064 * tfactors.T9i + -2.7507 * tfactors.T913i + -0.424877 * tfactors.T913 + 0.015987 * tfactors.T9 + -0.000690875 * tfactors.T953 + -0.207625 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00246064 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.7507 * tfactors.T943i + (1.0/3.0) * -0.424877 * tfactors.T923i + 0.015987 + (5.0/3.0) * -0.000690875 * tfactors.T923 + -0.207625 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -323,7 +370,7 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_d_to_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + p --> He3 @@ -338,9 +385,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 8.93525 + -3.7208 * tfactors.T913i + 0.198654 * tfactors.T913 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.198654 * tfactors.T923i + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -355,9 +406,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 7.52898 + -3.7208 * tfactors.T913i + 0.871782 * tfactors.T913 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.871782 * tfactors.T923i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -372,7 +427,7 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_d_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + d --> He4 @@ -387,9 +442,13 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 3.78177 + -4.26166 * tfactors.T913i + -0.119233 * tfactors.T913 + 0.778829 * tfactors.T9 + -0.0925203 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -4.26166 * tfactors.T943i + (1.0/3.0) * -0.119233 * tfactors.T923i + 0.778829 + (5.0/3.0) * -0.0925203 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -404,7 +463,7 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + p --> He4 @@ -419,9 +478,13 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -27.7611 + -4.30107e-12 * tfactors.T9i + -6.141 * tfactors.T913i + -1.93473e-09 * tfactors.T913 + 2.04145e-10 * tfactors.T9 + -1.80372e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.30107e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.141 * tfactors.T943i + (1.0/3.0) * -1.93473e-09 * tfactors.T923i + 2.04145e-10 + (5.0/3.0) * -1.80372e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -436,7 +499,7 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He4 --> Be7 @@ -451,9 +514,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7075 + -12.8271 * tfactors.T913i + -3.8126 * tfactors.T913 + 0.0942285 * tfactors.T9 + -0.00301018 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -3.8126 * tfactors.T923i + 0.0942285 + (5.0/3.0) * -0.00301018 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -468,9 +535,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.6099 + -12.8271 * tfactors.T913i + -0.0308225 * tfactors.T913 + -0.654685 * tfactors.T9 + 0.0896331 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -0.0308225 * tfactors.T923i + -0.654685 + (5.0/3.0) * 0.0896331 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -485,7 +556,7 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + He4 --> B11 @@ -500,9 +571,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 10.6937 + -6.44203 * tfactors.T9i + 0.190698 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.44203 * tfactors.T9i * tfactors.T9i + 0.190698 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -517,9 +592,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.81084 + -2.95915 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.95915 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -534,9 +613,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.4284 + -19.163 * tfactors.T913i + 0.0587651 * tfactors.T913 + 0.773338 * tfactors.T9 + -0.201519 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -19.163 * tfactors.T943i + (1.0/3.0) * 0.0587651 * tfactors.T923i + 0.773338 + (5.0/3.0) * -0.201519 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -551,7 +634,7 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + p --> B8 @@ -566,9 +649,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 7.73399 + -7.345 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.345 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -583,9 +670,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 12.5315 + -10.264 * tfactors.T913i + -0.203472 * tfactors.T913 + 0.121083 * tfactors.T9 + -0.00700063 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.264 * tfactors.T943i + (1.0/3.0) * -0.203472 * tfactors.T923i + 0.121083 + (5.0/3.0) * -0.00700063 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -600,7 +691,7 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + p --> C12 @@ -615,9 +706,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.5647 + -12.095 * tfactors.T913i + -6.68421 * tfactors.T913 + -0.0148736 * tfactors.T9 + 0.0364288 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -6.68421 * tfactors.T923i + -0.0148736 + (5.0/3.0) * 0.0364288 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -632,9 +727,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.6165 + -12.095 * tfactors.T913i + -1.95046 * tfactors.T913 + 9.56928 * tfactors.T9 + -10.0637 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -1.95046 * tfactors.T923i + 9.56928 + (5.0/3.0) * -10.0637 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -649,9 +748,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 8.67352 + -1.71197 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71197 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -666,7 +769,7 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -681,9 +784,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -698,9 +805,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -715,7 +826,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -730,9 +841,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -747,9 +862,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -764,7 +883,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -779,9 +898,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -796,9 +919,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -813,9 +940,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -830,7 +961,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -845,9 +976,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -862,9 +997,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -879,7 +1018,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -894,9 +1033,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -911,9 +1054,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -928,9 +1075,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -945,9 +1096,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -962,7 +1117,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -977,9 +1132,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -994,9 +1153,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1011,9 +1174,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1028,7 +1195,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -1043,9 +1210,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1060,9 +1231,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1077,9 +1252,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1094,7 +1273,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> F19 @@ -1109,9 +1288,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1126,9 +1309,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1143,9 +1330,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1160,9 +1351,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1177,7 +1372,7 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> Ne18 @@ -1192,9 +1387,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1209,9 +1408,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + 5.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + 5.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1226,9 +1429,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1243,9 +1450,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1260,7 +1471,7 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> Ne19 @@ -1275,9 +1486,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1292,9 +1507,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1309,9 +1528,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1326,7 +1549,7 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -1341,9 +1564,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1358,7 +1585,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -1373,9 +1600,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1390,9 +1621,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1407,9 +1642,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1424,7 +1663,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -1439,9 +1678,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1456,9 +1699,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1473,9 +1720,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1490,7 +1741,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + He4 --> Ne21 @@ -1505,9 +1756,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -25.0898 + -5.50926 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 82.2218 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.50926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 82.2218 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1522,9 +1777,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -117.134 + -13.6759 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -42.7753 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -42.7753 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1539,9 +1798,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 2.14 + -5.99952 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 4.75778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.99952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 4.75778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1556,7 +1819,7 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> F19 @@ -1571,9 +1834,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1588,9 +1855,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1605,9 +1876,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1622,9 +1897,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1639,7 +1918,7 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> Ne18 @@ -1654,9 +1933,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1671,9 +1954,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1688,7 +1975,7 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> Ne19 @@ -1703,9 +1990,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1720,9 +2011,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1737,9 +2032,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1754,7 +2053,7 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> Ne20 @@ -1769,9 +2068,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1786,9 +2089,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1803,9 +2110,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1820,7 +2131,7 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + d --> p + He4 @@ -1835,9 +2146,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.2969 + -7.182 * tfactors.T913i + -17.1349 * tfactors.T913 + 1.36908 * tfactors.T9 + -0.0814423 * tfactors.T953 + 3.35395 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * -17.1349 * tfactors.T923i + 1.36908 + (5.0/3.0) * -0.0814423 * tfactors.T923 + 3.35395 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1852,9 +2167,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 24.6839 + -7.182 * tfactors.T913i + 0.473288 * tfactors.T913 + 1.46847 * tfactors.T9 + -27.9603 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * 0.473288 * tfactors.T923i + 1.46847 + (5.0/3.0) * -27.9603 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1869,7 +2188,7 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + p --> He4 + He4 @@ -1884,9 +2203,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.8999 + -26.1527 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.1527 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1901,9 +2224,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4438 + -8.4727 * tfactors.T913i + 0.297934 * tfactors.T913 + 0.0582335 * tfactors.T9 + -0.00413383 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.297934 * tfactors.T923i + 0.0582335 + (5.0/3.0) * -0.00413383 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1918,9 +2245,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.2538 + -4.478 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.478 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1935,9 +2266,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.9576 + -8.4727 * tfactors.T913i + 0.417943 * tfactors.T913 + 5.34565 * tfactors.T9 + -4.8684 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.417943 * tfactors.T923i + 5.34565 + (5.0/3.0) * -4.8684 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1952,7 +2287,7 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -1967,9 +2302,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1984,7 +2323,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -1999,9 +2338,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2016,9 +2359,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2033,9 +2380,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2050,9 +2401,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2067,7 +2422,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -2082,9 +2437,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2099,9 +2458,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2116,9 +2479,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2133,9 +2500,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2150,9 +2521,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2167,9 +2542,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2184,7 +2563,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -2199,9 +2578,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2216,9 +2599,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2233,9 +2620,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2250,9 +2641,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2267,7 +2662,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> He4 + N15 @@ -2282,9 +2677,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2299,9 +2698,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2316,9 +2719,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2333,9 +2740,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2350,7 +2761,7 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + He4 --> p + Ne20 @@ -2365,9 +2776,13 @@ void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.6287 + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2382,7 +2797,7 @@ void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -2397,9 +2812,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2414,9 +2833,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2431,9 +2854,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2448,7 +2875,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> p + Ne21 @@ -2463,9 +2890,13 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2480,7 +2911,7 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> He4 + O16 @@ -2495,9 +2926,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2512,9 +2947,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2529,9 +2968,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2546,9 +2989,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2563,9 +3010,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2580,7 +3031,7 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He3 --> p + p + He4 @@ -2595,9 +3046,13 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 24.7788 + -12.277 * tfactors.T913i + -0.103699 * tfactors.T913 + -0.0649967 * tfactors.T9 + 0.0168191 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.277 * tfactors.T943i + (1.0/3.0) * -0.103699 * tfactors.T923i + -0.0649967 + (5.0/3.0) * 0.0168191 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2612,7 +3067,7 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + d --> p + He4 + He4 @@ -2627,9 +3082,13 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 27.6987 + -12.428 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.428 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2644,7 +3103,7 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + p --> 3 He4 @@ -2659,9 +3118,13 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -14.9395 + -1.724 * tfactors.T9i + 8.49175 * tfactors.T913i + 27.3254 * tfactors.T913 + -3.72071 * tfactors.T9 + 0.275516 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.724 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.49175 * tfactors.T943i + (1.0/3.0) * 27.3254 * tfactors.T923i + -3.72071 + (5.0/3.0) * 0.275516 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2676,9 +3139,13 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 28.6442 + -12.097 * tfactors.T913i + -0.0496312 * tfactors.T913 + 0.687736 * tfactors.T9 + -0.564229 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.097 * tfactors.T943i + (1.0/3.0) * -0.0496312 * tfactors.T923i + 0.687736 + (5.0/3.0) * -0.564229 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2693,7 +3160,7 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + He3 --> p + p + He4 + He4 @@ -2708,9 +3175,13 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 31.7435 + -5.45213e-12 * tfactors.T9i + -21.793 * tfactors.T913i + -1.98126e-09 * tfactors.T913 + 1.84204e-10 * tfactors.T9 + -1.46403e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.45213e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.793 * tfactors.T943i + (1.0/3.0) * -1.98126e-09 * tfactors.T923i + 1.84204e-10 + (5.0/3.0) * -1.46403e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2725,7 +3196,7 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -2740,9 +3211,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2757,9 +3232,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2774,9 +3253,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2800,306 +3283,764 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_Be7_to_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Be7_to_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Be7_to_Li7_reaclib) = drate_dT; - - } - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_B8_to_p_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B8_to_p_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B8_to_p_Be7_reaclib) = drate_dT; - - } - rate_B8_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; - - } - rate_F17_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F17_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_p_O16_reaclib) = drate_dT; - - } - rate_p_p_to_d_reaclib_bet_pos(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; - - } - rate_p_p_to_d_reaclib_electron_capture(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; - - } - rate_p_d_to_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; - - } - rate_d_d_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; - - } - rate_p_He3_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; - - } - rate_He4_He3_to_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; - - } - rate_He4_Li7_to_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = drate_dT; - - } - rate_p_Be7_to_B8_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; - - } - rate_p_B11_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_B11_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_He4_N15_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; - - } - rate_He4_O14_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_O15_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_He4_O17_to_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; - - } - rate_p_O18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; - - } - rate_p_F17_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; - - } - rate_p_F18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; - - } - rate_p_F19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; - - } - rate_d_He3_to_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; - - } - rate_p_Li7_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_O18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He4_F18_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; - - } - rate_p_F19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; - - } - rate_He3_He3_to_p_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; - - } - rate_d_Be7_to_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; - - } - rate_p_B11_to_He4_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = drate_dT; - - } - rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Be7_to_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Be7_to_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Be7_to_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B8_to_p_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B8_to_p_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B8_to_p_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B8_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_bet_pos(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_electron_capture(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_d); + } +#endif + rate_p_d_to_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_d); + } +#endif + rate_d_d_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He3); + } +#endif + rate_p_He3_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He3); + } +#endif + rate_He4_He3_to_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Li7); + } +#endif + rate_He4_Li7_to_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be7); + } +#endif + rate_p_Be7_to_B8_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_B11); + } +#endif + rate_p_B11_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_B11_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O17); + } +#endif + rate_He4_O17_to_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_He3); + } +#endif + rate_d_He3_to_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li7); + } +#endif + rate_p_Li7_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_He3); + } +#endif + rate_He3_He3_to_p_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Be7); + } +#endif + rate_d_Be7_to_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_B11); + } +#endif + rate_p_B11_to_He4_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_Be7); + } +#endif + rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - } } diff --git a/networks/nova/actual_network.H b/networks/nova/actual_network.H index df0e6ef0e..d240f1bfa 100644 --- a/networks/nova/actual_network.H +++ b/networks/nova/actual_network.H @@ -225,6 +225,36 @@ namespace Rates NumRates = k_He4_He4_He4_to_C12_reaclib }; + enum ScreenPairs : + std::uint8_t + { + k_p_p = 1, + k_p_d = 2, + k_d_d = 3, + k_p_He3 = 4, + k_He4_He3 = 5, + k_p_Be7 = 6, + k_p_C12 = 7, + k_He4_C12 = 8, + k_p_C13 = 9, + k_p_N13 = 10, + k_p_N14 = 11, + k_He4_N14 = 12, + k_p_N15 = 13, + k_p_O16 = 14, + k_p_O17 = 15, + k_d_He3 = 16, + k_He4_N13 = 17, + k_He4_O14 = 18, + k_p_F18 = 19, + k_He3_He3 = 20, + k_d_Be7 = 21, + k_He3_Be7 = 22, + k_He4_He4 = 23, + k_He4_Be8 = 24, + NumScreenPairs = k_He4_Be8 + }; + // 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 // NetworkRates enum diff --git a/networks/nova/actual_rhs.H b/networks/nova/actual_rhs.H index 8207a05fd..46604c780 100644 --- a/networks/nova/actual_rhs.H +++ b/networks/nova/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,380 +64,284 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 1.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_p) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_p) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 2.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_d_to_He3_reaclib); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_d) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 1.0_rt, 2.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_d) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_d_to_He4_reaclib); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 3.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_He3_to_He4_reaclib); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_He3) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He3) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 7.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_Be7_to_B8_reaclib); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.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_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.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_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.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_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.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_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.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_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; - } +} +#endif + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + + // here Y is consistent with state.xn + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + const tf_t tfactors = evaluate_tfactors(state.T); + + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/nova/nova.png b/networks/nova/nova.png index 5963b45df6a1dc5f588773359cee929e5e3da0aa..708781b1287f7fd630ebce4058ab60007666fd78 100644 GIT binary patch literal 59443 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 literal 58342 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∾a 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 o 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 diff --git a/networks/nova/pynucastro-info.txt b/networks/nova/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/nova/pynucastro-info.txt +++ b/networks/nova/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/nova/reaclib_rates.H b/networks/nova/reaclib_rates.H index cc9d86885..e7cd10a39 100644 --- a/networks/nova/reaclib_rates.H +++ b/networks/nova/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -39,8 +46,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -55,7 +66,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -70,8 +81,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -86,7 +101,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -101,8 +116,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -117,7 +136,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F17_to_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 --> O17 @@ -132,8 +151,12 @@ void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.53318; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -148,7 +171,7 @@ void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 --> He4 + He4 @@ -163,8 +186,12 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -0.105148; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -179,7 +206,7 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -194,9 +221,13 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -34.7863 + -3.51193 * tfactors.T913i + 3.10086 * tfactors.T913 + -0.198314 * tfactors.T9 + 0.0126251 * tfactors.T953 + -1.02517 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.51193 * tfactors.T943i + (1.0/3.0) * 3.10086 * tfactors.T923i + -0.198314 + (5.0/3.0) * 0.0126251 * tfactors.T923 + -1.02517 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -211,7 +242,7 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -226,9 +257,13 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r ln_set_rate = -43.6499 + -0.00246064 * tfactors.T9i + -2.7507 * tfactors.T913i + -0.424877 * tfactors.T913 + 0.015987 * tfactors.T9 + -0.000690875 * tfactors.T953 + -0.207625 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00246064 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.7507 * tfactors.T943i + (1.0/3.0) * -0.424877 * tfactors.T923i + 0.015987 + (5.0/3.0) * -0.000690875 * tfactors.T923 + -0.207625 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -243,7 +278,7 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_d_to_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + p --> He3 @@ -258,9 +293,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 8.93525 + -3.7208 * tfactors.T913i + 0.198654 * tfactors.T913 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.198654 * tfactors.T923i + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -275,9 +314,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 7.52898 + -3.7208 * tfactors.T913i + 0.871782 * tfactors.T913 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.871782 * tfactors.T923i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -292,7 +335,7 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_d_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + d --> He4 @@ -307,9 +350,13 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 3.78177 + -4.26166 * tfactors.T913i + -0.119233 * tfactors.T913 + 0.778829 * tfactors.T9 + -0.0925203 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -4.26166 * tfactors.T943i + (1.0/3.0) * -0.119233 * tfactors.T923i + 0.778829 + (5.0/3.0) * -0.0925203 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -324,7 +371,7 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + p --> He4 @@ -339,9 +386,13 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -27.7611 + -4.30107e-12 * tfactors.T9i + -6.141 * tfactors.T913i + -1.93473e-09 * tfactors.T913 + 2.04145e-10 * tfactors.T9 + -1.80372e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.30107e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.141 * tfactors.T943i + (1.0/3.0) * -1.93473e-09 * tfactors.T923i + 2.04145e-10 + (5.0/3.0) * -1.80372e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -356,7 +407,7 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He4 --> Be7 @@ -371,9 +422,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7075 + -12.8271 * tfactors.T913i + -3.8126 * tfactors.T913 + 0.0942285 * tfactors.T9 + -0.00301018 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -3.8126 * tfactors.T923i + 0.0942285 + (5.0/3.0) * -0.00301018 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -388,9 +443,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.6099 + -12.8271 * tfactors.T913i + -0.0308225 * tfactors.T913 + -0.654685 * tfactors.T9 + 0.0896331 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -0.0308225 * tfactors.T923i + -0.654685 + (5.0/3.0) * 0.0896331 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -405,7 +464,7 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + p --> B8 @@ -420,9 +479,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 7.73399 + -7.345 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.345 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -437,9 +500,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 12.5315 + -10.264 * tfactors.T913i + -0.203472 * tfactors.T913 + 0.121083 * tfactors.T9 + -0.00700063 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.264 * tfactors.T943i + (1.0/3.0) * -0.203472 * tfactors.T923i + 0.121083 + (5.0/3.0) * -0.00700063 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -454,7 +521,7 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -469,9 +536,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -486,9 +557,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -503,7 +578,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -518,9 +593,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -535,9 +614,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -552,7 +635,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -567,9 +650,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -584,9 +671,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -601,9 +692,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -618,7 +713,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -633,9 +728,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -650,9 +749,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -667,7 +770,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -682,9 +785,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -699,9 +806,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -716,9 +827,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -733,9 +848,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -750,7 +869,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -765,9 +884,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -782,9 +905,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -799,9 +926,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -816,7 +947,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -831,9 +962,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -848,9 +983,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -865,9 +1004,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -882,7 +1025,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -897,9 +1040,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -914,7 +1061,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -929,9 +1076,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -946,9 +1097,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -963,9 +1118,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -980,7 +1139,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + d --> p + He4 @@ -995,9 +1154,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.2969 + -7.182 * tfactors.T913i + -17.1349 * tfactors.T913 + 1.36908 * tfactors.T9 + -0.0814423 * tfactors.T953 + 3.35395 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * -17.1349 * tfactors.T923i + 1.36908 + (5.0/3.0) * -0.0814423 * tfactors.T923 + 3.35395 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1012,9 +1175,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 24.6839 + -7.182 * tfactors.T913i + 0.473288 * tfactors.T913 + 1.46847 * tfactors.T9 + -27.9603 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * 0.473288 * tfactors.T923i + 1.46847 + (5.0/3.0) * -27.9603 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1029,7 +1196,7 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -1044,9 +1211,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1061,7 +1232,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -1076,9 +1247,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1093,9 +1268,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1110,9 +1289,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1127,9 +1310,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1144,7 +1331,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -1159,9 +1346,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1176,9 +1367,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1193,9 +1388,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1210,9 +1409,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1227,9 +1430,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1244,9 +1451,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1261,7 +1472,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -1276,9 +1487,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1293,9 +1508,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1310,9 +1529,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1327,9 +1550,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1344,7 +1571,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -1359,9 +1586,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1376,9 +1607,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1393,9 +1628,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1410,7 +1649,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He3 --> p + p + He4 @@ -1425,9 +1664,13 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 24.7788 + -12.277 * tfactors.T913i + -0.103699 * tfactors.T913 + -0.0649967 * tfactors.T9 + 0.0168191 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.277 * tfactors.T943i + (1.0/3.0) * -0.103699 * tfactors.T923i + -0.0649967 + (5.0/3.0) * 0.0168191 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1442,7 +1685,7 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + d --> p + He4 + He4 @@ -1457,9 +1700,13 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 27.6987 + -12.428 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.428 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1474,7 +1721,7 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + He3 --> p + p + He4 + He4 @@ -1489,9 +1736,13 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 31.7435 + -5.45213e-12 * tfactors.T9i + -21.793 * tfactors.T913i + -1.98126e-09 * tfactors.T913 + 1.84204e-10 * tfactors.T9 + -1.46403e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.45213e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.793 * tfactors.T943i + (1.0/3.0) * -1.98126e-09 * tfactors.T923i + 1.84204e-10 + (5.0/3.0) * -1.46403e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1506,7 +1757,7 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -1521,9 +1772,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1538,9 +1793,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1555,9 +1814,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1581,192 +1844,472 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_F17_to_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F17_to_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_O17_reaclib) = drate_dT; - - } - rate_B8_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; - - } - rate_p_p_to_d_reaclib_bet_pos(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; - - } - rate_p_p_to_d_reaclib_electron_capture(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; - - } - rate_p_d_to_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; - - } - rate_d_d_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; - - } - rate_p_He3_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; - - } - rate_He4_He3_to_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; - - } - rate_p_Be7_to_B8_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_d_He3_to_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He3_He3_to_p_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; - - } - rate_d_Be7_to_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; - - } - rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B8_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_bet_pos(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_electron_capture(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_d); + } +#endif + rate_p_d_to_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_d); + } +#endif + rate_d_d_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He3); + } +#endif + rate_p_He3_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He3); + } +#endif + rate_He4_He3_to_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be7); + } +#endif + rate_p_Be7_to_B8_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_He3); + } +#endif + rate_d_He3_to_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_He3); + } +#endif + rate_He3_He3_to_p_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Be7); + } +#endif + rate_d_Be7_to_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_Be7); + } +#endif + rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - } } diff --git a/networks/partition_test/actual_network.H b/networks/partition_test/actual_network.H index 5ad3a6487..fd4699ef7 100644 --- a/networks/partition_test/actual_network.H +++ b/networks/partition_test/actual_network.H @@ -128,6 +128,14 @@ namespace Rates NumRates = k_p_Co55_to_He4_Fe52_derived }; + enum ScreenPairs : + std::uint8_t + { + k_He4_Fe52 = 1, + k_p_Co55 = 2, + NumScreenPairs = k_p_Co55 + }; + // 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 // NetworkRates enum diff --git a/networks/partition_test/actual_rhs.H b/networks/partition_test/actual_rhs.H index ffc4aab89..f5f6fe25a 100644 --- a/networks/partition_test/actual_rhs.H +++ b/networks/partition_test/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,71 +64,63 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - const tf_t tfactors = evaluate_tfactors(state.T); + amrex::Real log_scor, dlog_scor_dT; - fill_reaclib_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } + } - temp_tabular::fill_rates(tfactors, rate_eval); + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } + } - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); +} +#endif -#ifdef SCREENING - // Evaluate screening factors +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + // here Y is consistent with state.xn + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + const tf_t tfactors = evaluate_tfactors(state.T); - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Precompute screening terms - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); +#endif + // Fill in different rates - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + fill_reaclib_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + temp_tabular::fill_rates(tfactors, rate_eval); - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = ratraw * dscor_dt + dratraw_dT * scor; - } + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); -#endif // Fill approximate rates diff --git a/networks/partition_test/derived_rates.H b/networks/partition_test/derived_rates.H index ed6889337..dbf800f6a 100644 --- a/networks/partition_test/derived_rates.H +++ b/networks/partition_test/derived_rates.H @@ -11,7 +11,7 @@ using namespace Rates; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> He4 + Fe52 @@ -47,13 +47,13 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.62430485073777 + -92.84097094326391 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 92.84097094326391 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -68,7 +68,7 @@ void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Ni56 --> p + Co55 @@ -104,13 +104,13 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.15120404192561 + -83.16460378149378 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 83.16460378149378 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -125,7 +125,7 @@ void rate_Ni56_to_p_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { +void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] const T& rate_eval, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { // Co55 + p --> He4 + Fe52 @@ -167,13 +167,13 @@ void rate_p_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.42570080881217 + -9.676367161770125 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; - ln_set_rate += net_log_pf; + ln_set_rate += net_log_pf + log_scor; if constexpr (std::is_same_v) { dln_set_rate_dT9 = 9.676367161770125 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; - dln_set_rate_dT9 += net_dlog_pf_dT9; + dln_set_rate_dT9 += net_dlog_pf_dT9 + dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -203,24 +203,42 @@ fill_derived_rates(const tf_t& tfactors, T& rate_eval) pf_cache.index_temp_array_1 = interp_net::find_index(tfactors.T9, part_fun::temp_array_1); - rate_Ni56_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; + } } - rate_Ni56_to_p_Co55_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_derived) = drate_dT; + } } - rate_p_Co55_to_He4_Fe52_derived(tfactors, rate, drate_dT, rate_eval, pf_cache); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_derived(tfactors, log_scor, dlog_scor_dT, rate, drate_dT, rate_eval, pf_cache); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_derived) = drate_dT; + } } + } #endif diff --git a/networks/partition_test/pynucastro-info.txt b/networks/partition_test/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/partition_test/pynucastro-info.txt +++ b/networks/partition_test/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/partition_test/reaclib_rates.H b/networks/partition_test/reaclib_rates.H index d28181f99..0cdc86e61 100644 --- a/networks/partition_test/reaclib_rates.H +++ b/networks/partition_test/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -39,9 +46,13 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,7 +67,7 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -71,9 +82,13 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -88,7 +103,7 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -103,9 +118,13 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -129,25 +148,55 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_He4_Fe52_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; + } } - rate_p_Co55_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; + } } - rate_He4_Fe52_to_p_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; + } } + } template diff --git a/networks/sn160/actual_network.H b/networks/sn160/actual_network.H index 739e8786d..2d42b4d61 100644 --- a/networks/sn160/actual_network.H +++ b/networks/sn160/actual_network.H @@ -2678,6 +2678,311 @@ namespace Rates NumRates = k_p_to_n_weaktab }; + enum ScreenPairs : + std::uint16_t + { + k_p_p = 1, + k_p_d = 2, + k_d_d = 3, + k_d_He4 = 4, + k_p_He3 = 5, + k_He4_He3 = 6, + k_p_Li6 = 7, + k_He4_Li6 = 8, + k_He4_Li7 = 9, + k_p_Be7 = 10, + k_p_Be9 = 11, + k_p_B11 = 12, + k_p_C12 = 13, + k_He4_C12 = 14, + k_p_C13 = 15, + k_p_C14 = 16, + k_He4_C14 = 17, + k_p_N13 = 18, + k_p_N14 = 19, + k_He4_N14 = 20, + k_p_N15 = 21, + k_He4_N15 = 22, + k_He4_O14 = 23, + k_He4_O15 = 24, + k_p_O16 = 25, + k_He4_O16 = 26, + k_p_O17 = 27, + k_He4_O17 = 28, + k_p_O18 = 29, + k_He4_O18 = 30, + k_p_F17 = 31, + k_He4_F17 = 32, + k_p_F18 = 33, + k_He4_F18 = 34, + k_p_F19 = 35, + k_He4_F19 = 36, + k_He4_Ne19 = 37, + k_p_Ne20 = 38, + k_He4_Ne20 = 39, + k_p_Ne21 = 40, + k_He4_Ne21 = 41, + k_p_Ne22 = 42, + k_He4_Ne22 = 43, + k_He4_Na21 = 44, + k_p_Na22 = 45, + k_He4_Na22 = 46, + k_p_Na23 = 47, + k_He4_Na23 = 48, + k_p_Mg24 = 49, + k_He4_Mg24 = 50, + k_p_Mg25 = 51, + k_He4_Mg25 = 52, + k_p_Mg26 = 53, + k_He4_Mg26 = 54, + k_He4_Al25 = 55, + k_He4_Al26 = 56, + k_p_Al27 = 57, + k_He4_Al27 = 58, + k_p_Si28 = 59, + k_He4_Si28 = 60, + k_p_Si29 = 61, + k_He4_Si29 = 62, + k_p_Si30 = 63, + k_He4_Si30 = 64, + k_p_Si31 = 65, + k_He4_Si31 = 66, + k_p_Si32 = 67, + k_He4_Si32 = 68, + k_He4_P29 = 69, + k_He4_P30 = 70, + k_p_P31 = 71, + k_He4_P31 = 72, + k_p_P32 = 73, + k_He4_P32 = 74, + k_p_P33 = 75, + k_He4_P33 = 76, + k_p_S32 = 77, + k_He4_S32 = 78, + k_p_S33 = 79, + k_He4_S33 = 80, + k_p_S34 = 81, + k_He4_S34 = 82, + k_p_S35 = 83, + k_He4_S35 = 84, + k_p_S36 = 85, + k_He4_S36 = 86, + k_He4_Cl33 = 87, + k_He4_Cl34 = 88, + k_p_Cl35 = 89, + k_He4_Cl35 = 90, + k_p_Cl36 = 91, + k_He4_Cl36 = 92, + k_p_Cl37 = 93, + k_He4_Cl37 = 94, + k_p_Ar36 = 95, + k_He4_Ar36 = 96, + k_p_Ar37 = 97, + k_He4_Ar37 = 98, + k_p_Ar38 = 99, + k_He4_Ar38 = 100, + k_p_Ar39 = 101, + k_He4_Ar39 = 102, + k_p_Ar40 = 103, + k_He4_Ar40 = 104, + k_p_K39 = 105, + k_He4_K39 = 106, + k_p_K40 = 107, + k_He4_K40 = 108, + k_p_K41 = 109, + k_He4_K41 = 110, + k_He4_Ca40 = 111, + k_He4_Ca41 = 112, + k_p_Ca42 = 113, + k_He4_Ca42 = 114, + k_p_Ca43 = 115, + k_He4_Ca43 = 116, + k_p_Ca44 = 117, + k_He4_Ca44 = 118, + k_p_Ca45 = 119, + k_He4_Ca45 = 120, + k_p_Ca46 = 121, + k_He4_Ca46 = 122, + k_p_Ca47 = 123, + k_He4_Ca47 = 124, + k_p_Ca48 = 125, + k_p_Sc43 = 126, + k_He4_Sc43 = 127, + k_p_Sc44 = 128, + k_He4_Sc44 = 129, + k_p_Sc45 = 130, + k_He4_Sc45 = 131, + k_p_Sc46 = 132, + k_He4_Sc46 = 133, + k_p_Sc47 = 134, + k_He4_Sc47 = 135, + k_p_Sc48 = 136, + k_He4_Sc48 = 137, + k_p_Sc49 = 138, + k_He4_Ti44 = 139, + k_p_Ti45 = 140, + k_He4_Ti45 = 141, + k_p_Ti46 = 142, + k_He4_Ti46 = 143, + k_p_Ti47 = 144, + k_He4_Ti47 = 145, + k_p_Ti48 = 146, + k_He4_Ti48 = 147, + k_p_Ti49 = 148, + k_He4_Ti49 = 149, + k_p_Ti50 = 150, + k_He4_Ti50 = 151, + k_p_Ti51 = 152, + k_He4_V46 = 153, + k_p_V47 = 154, + k_He4_V47 = 155, + k_p_V48 = 156, + k_He4_V48 = 157, + k_p_V49 = 158, + k_He4_V49 = 159, + k_p_V50 = 160, + k_He4_V50 = 161, + k_p_V51 = 162, + k_He4_V51 = 163, + k_p_V52 = 164, + k_He4_Cr48 = 165, + k_p_Cr49 = 166, + k_He4_Cr49 = 167, + k_p_Cr50 = 168, + k_He4_Cr50 = 169, + k_p_Cr51 = 170, + k_He4_Cr51 = 171, + k_p_Cr52 = 172, + k_He4_Cr52 = 173, + k_p_Cr53 = 174, + k_He4_Cr53 = 175, + k_p_Cr54 = 176, + k_He4_Cr54 = 177, + k_He4_Mn50 = 178, + k_p_Mn51 = 179, + k_He4_Mn51 = 180, + k_p_Mn52 = 181, + k_He4_Mn52 = 182, + k_p_Mn53 = 183, + k_He4_Mn53 = 184, + k_p_Mn54 = 185, + k_He4_Mn54 = 186, + k_p_Mn55 = 187, + k_He4_Mn55 = 188, + k_p_Fe52 = 189, + k_He4_Fe52 = 190, + k_p_Fe53 = 191, + k_He4_Fe53 = 192, + k_p_Fe54 = 193, + k_He4_Fe54 = 194, + k_p_Fe55 = 195, + k_He4_Fe55 = 196, + k_p_Fe56 = 197, + k_He4_Fe56 = 198, + k_p_Fe57 = 199, + k_He4_Fe57 = 200, + k_p_Fe58 = 201, + k_He4_Fe58 = 202, + k_He4_Co53 = 203, + k_He4_Co54 = 204, + k_p_Co55 = 205, + k_He4_Co55 = 206, + k_p_Co56 = 207, + k_He4_Co56 = 208, + k_p_Co57 = 209, + k_He4_Co57 = 210, + k_p_Co58 = 211, + k_He4_Co58 = 212, + k_p_Co59 = 213, + k_He4_Co59 = 214, + k_p_Ni56 = 215, + k_He4_Ni56 = 216, + k_p_Ni57 = 217, + k_He4_Ni57 = 218, + k_p_Ni58 = 219, + k_He4_Ni58 = 220, + k_p_Ni59 = 221, + k_He4_Ni59 = 222, + k_p_Ni60 = 223, + k_He4_Ni60 = 224, + k_p_Ni61 = 225, + k_He4_Ni61 = 226, + k_p_Ni62 = 227, + k_He4_Ni62 = 228, + k_p_Ni63 = 229, + k_p_Ni64 = 230, + k_p_Cu58 = 231, + k_He4_Cu58 = 232, + k_p_Cu59 = 233, + k_He4_Cu59 = 234, + k_p_Cu60 = 235, + k_He4_Cu60 = 236, + k_p_Cu61 = 237, + k_p_Cu62 = 238, + k_p_Cu63 = 239, + k_p_Cu64 = 240, + k_p_Cu65 = 241, + k_He4_Zn59 = 242, + k_He4_Zn60 = 243, + k_p_Zn61 = 244, + k_p_Zn62 = 245, + k_p_Zn63 = 246, + k_p_Ga62 = 247, + k_p_Ga63 = 248, + k_d_He3 = 249, + k_p_He4 = 250, + k_He4_He4 = 251, + k_d_Li6 = 252, + k_p_Li7 = 253, + k_He4_Be7 = 254, + k_He4_Be9 = 255, + k_p_B10 = 256, + k_He4_B10 = 257, + k_He4_B11 = 258, + k_C12_C12 = 259, + k_d_C13 = 260, + k_He4_C13 = 261, + k_d_C14 = 262, + k_He4_N13 = 263, + k_C12_O16 = 264, + k_O16_O16 = 265, + k_He4_Ne18 = 266, + k_C12_Ne20 = 267, + k_p_Na21 = 268, + k_He4_Mg23 = 269, + k_p_Al26 = 270, + k_He4_K37 = 271, + k_He4_K38 = 272, + k_p_Ca40 = 273, + k_p_Ca41 = 274, + k_He4_Ca48 = 275, + k_He4_Sc49 = 276, + k_He4_Ti51 = 277, + k_He4_V52 = 278, + k_He4_Ni63 = 279, + k_He4_Cu57 = 280, + k_He4_Cu61 = 281, + k_He4_Cu62 = 282, + k_He4_Cu63 = 283, + k_p_Zn60 = 284, + k_He4_Zn61 = 285, + k_p_Zn64 = 286, + k_p_Zn65 = 287, + k_p_Zn66 = 288, + k_p_Ga64 = 289, + k_He3_He3 = 290, + k_d_Li7 = 291, + k_d_Be7 = 292, + k_He3_Li7 = 293, + k_He3_Be7 = 294, + k_He4_He4 = 295, + k_He4_Be8 = 296, + k_p_p = 297, + k_p_He4 = 298, + k_d_He4 = 299, + NumScreenPairs = k_d_He4 + }; + // 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 // NetworkRates enum diff --git a/networks/sn160/actual_rhs.H b/networks/sn160/actual_rhs.H index 069629f34..27a56f933 100644 --- a/networks/sn160/actual_rhs.H +++ b/networks/sn160/actual_rhs.H @@ -28,7 +28,6 @@ using namespace Rates; using namespace rate_tables; - template AMREX_GPU_HOST_DEVICE AMREX_INLINE void ener_gener_rate(T const& dydt, amrex::Real& enuc) @@ -49,17 +48,14 @@ void ener_gener_rate(T const& dydt, amrex::Real& enuc) } +#ifdef SCREENING template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void evaluate_rates(const burn_t& state, - const amrex::Array1D& Y, - T& rate_eval) { - - // here Y is consistent with state.xn - - [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; +void evaluate_screening(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { - // Calculate Reaclib rates + // Evaluate screening terms using number_t = std::conditional_t; number_t temp = state.T; @@ -68,7261 +64,3034 @@ void evaluate_rates(const burn_t& state, autodiff::seed(temp); } -#ifdef SCREENING plasma_state_t pstate{}; fill_plasma_state(pstate, temp, state.rho, Y); -#endif - - const tf_t tfactors = evaluate_tfactors(state.T); - - fill_reaclib_rates(tfactors, rate_eval); - - temp_tabular::fill_rates(tfactors, rate_eval); - - // Calculate Derived Rates. This should go last but before approx rates. - fill_derived_rates(tfactors, rate_eval); - - -#ifdef SCREENING - // Evaluate screening factors - - amrex::Real ratraw, dratraw_dT; - amrex::Real scor, dscor_dt; - [[maybe_unused]] amrex::Real scor2, dscor2_dt; + amrex::Real log_scor, dlog_scor_dT; { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 1.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_p) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_p) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 2.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_d) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture); - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 1.0_rt, 2.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_d) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_d) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_n_p_p_to_p_d_reaclib); - rate_eval.screened_rates(k_n_p_p_to_p_d_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_p_p_to_p_d_reaclib); - rate_eval.dscreened_rates_dT(k_n_p_p_to_p_d_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 4.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_He4) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_p_He4_He4_to_He3_Be7_reaclib); - rate_eval.screened_rates(k_p_p_He4_He4_to_He3_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_He4_He4_to_He3_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_p_p_He4_He4_to_He3_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 3.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_He3) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 3.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He3) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 2.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 3.0_rt, 6.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Li6) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Li6) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_d_to_He3_reaclib); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 3.0_rt, 6.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Li6) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Li6) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_d_to_n_p_p_reaclib); - rate_eval.screened_rates(k_p_d_to_n_p_p_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_d_to_n_p_p_reaclib); - rate_eval.dscreened_rates_dT(k_p_d_to_n_p_p_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 3.0_rt, 7.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Li7) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 1.0_rt, 2.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Be7) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_d_to_He4_reaclib); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 9.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Be9) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Be9) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_d_to_n_He3_reaclib); - rate_eval.screened_rates(k_d_d_to_n_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_d_to_n_He3_reaclib); - rate_eval.dscreened_rates_dT(k_d_d_to_n_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 5.0_rt, 11.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_B11) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_B11) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 4.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_d_to_Li6_reaclib); - rate_eval.screened_rates(k_He4_d_to_Li6_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_d_to_Li6_reaclib); - rate_eval.dscreened_rates_dT(k_He4_d_to_Li6_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C12) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 3.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_He3_to_He4_reaclib); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 14.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_C14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_C14) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 3.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He3_to_p_Li6_reaclib); - rate_eval.screened_rates(k_He4_He3_to_p_Li6_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He3_to_p_Li6_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He3_to_p_Li6_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N14) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N14) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 3.0_rt, 6.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li6_to_Be7_reaclib); - rate_eval.screened_rates(k_p_Li6_to_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li6_to_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li6_to_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li6_to_He4_He3_reaclib); - rate_eval.screened_rates(k_p_Li6_to_He4_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li6_to_He4_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li6_to_He4_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O14) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 3.0_rt, 6.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O15) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O15) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Li6_to_B10_reaclib); - rate_eval.screened_rates(k_He4_Li6_to_B10_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Li6_to_B10_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Li6_to_B10_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O16) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Li6_to_p_Be9_reaclib); - rate_eval.screened_rates(k_He4_Li6_to_p_Be9_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Li6_to_p_Be9_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Li6_to_p_Be9_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O16) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O17) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 3.0_rt, 7.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib); - rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_O18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Li7_to_n_B10_reaclib); - rate_eval.screened_rates(k_He4_Li7_to_n_B10_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Li7_to_n_B10_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Li7_to_n_B10_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 18.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_O18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_O18) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 7.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F17) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Be7_to_B8_reaclib); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F17) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F17) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 4.0_rt, 9.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Be9_to_B10_reaclib); - rate_eval.screened_rates(k_p_Be9_to_B10_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be9_to_B10_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be9_to_B10_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F18) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Be9_to_He4_Li6_reaclib); - rate_eval.screened_rates(k_p_Be9_to_He4_Li6_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be9_to_He4_Li6_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be9_to_He4_Li6_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Be9_to_d_He4_He4_reaclib); - rate_eval.screened_rates(k_p_Be9_to_d_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be9_to_d_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be9_to_d_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 19.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_F19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_F19) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Be9_to_n_p_He4_He4_reaclib); - rate_eval.screened_rates(k_p_Be9_to_n_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Be9_to_n_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_Be9_to_n_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 19.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne19) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne19) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 5.0_rt, 11.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.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_B11_to_C12_reaclib); - rate_eval.screened_rates(k_p_B11_to_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne20) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib); - rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne20) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne21) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C12_to_N13_reaclib); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 21.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne21) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 22.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ne22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ne22) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 22.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne22) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_O16_reaclib); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 21.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na21) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_n_O15_reaclib); - rate_eval.screened_rates(k_He4_C12_to_n_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_n_O15_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_n_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 22.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na22) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C12_to_p_N15_reaclib); - rate_eval.screened_rates(k_He4_C12_to_p_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 22.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na22) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na22) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na23) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C13_to_N14_reaclib); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 23.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Na23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Na23) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C13_to_n_N13_reaclib); - rate_eval.screened_rates(k_p_C13_to_n_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_n_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_n_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 24.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mg24) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C13_to_He4_B10_reaclib); - rate_eval.screened_rates(k_p_C13_to_He4_B10_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_He4_B10_reaclib); - rate_eval.dscreened_rates_dT(k_p_C13_to_He4_B10_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg24) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg24) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 14.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 25.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mg25) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mg25) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C14_to_N15_reaclib); - rate_eval.screened_rates(k_p_C14_to_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C14_to_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_C14_to_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 25.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg25) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg25) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C14_to_n_N14_reaclib); - rate_eval.screened_rates(k_p_C14_to_n_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C14_to_n_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_C14_to_n_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 26.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mg26) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mg26) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_C14_to_He4_B11_reaclib); - rate_eval.screened_rates(k_p_C14_to_He4_B11_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C14_to_He4_B11_reaclib); - rate_eval.dscreened_rates_dT(k_p_C14_to_He4_B11_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 26.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg26) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg26) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 14.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 25.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Al25) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Al25) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C14_to_O18_reaclib); - rate_eval.screened_rates(k_He4_C14_to_O18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C14_to_O18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C14_to_O18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 26.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Al26) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Al26) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C14_to_n_O17_reaclib); - rate_eval.screened_rates(k_He4_C14_to_n_O17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C14_to_n_O17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C14_to_n_O17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al27) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 27.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Al27) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Al27) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 28.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Si28) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N13_to_O14_reaclib); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si28) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si28) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 29.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Si29) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Si29) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N14_to_O15_reaclib); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 29.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si29) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si29) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N14_to_n_O14_reaclib); - rate_eval.screened_rates(k_p_N14_to_n_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_n_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_N14_to_n_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 30.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Si30) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Si30) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 30.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si30) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si30) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_F18_reaclib); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_N14_to_n_F17_reaclib); - rate_eval.screened_rates(k_He4_N14_to_n_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_n_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_n_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 31.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Si31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Si31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N14_to_p_O17_reaclib); - rate_eval.screened_rates(k_He4_N14_to_p_O17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 31.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si31) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 32.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_N15_to_O16_reaclib); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Si32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Si32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N15_to_n_O15_reaclib); - rate_eval.screened_rates(k_p_N15_to_n_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_n_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_n_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 32.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Si32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Si32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 29.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_P29) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_P29) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 30.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_P30) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_P30) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_F19_reaclib); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_n_F18_reaclib); - rate_eval.screened_rates(k_He4_N15_to_n_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_n_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_n_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 31.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_P31) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_P31) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N15_to_p_O18_reaclib); - rate_eval.screened_rates(k_He4_N15_to_p_O18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 32.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P32) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 32.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_P32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_P32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 33.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_P33) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_P33) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 33.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_P33) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_P33) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_O15_to_n_Ne18_reaclib); - rate_eval.screened_rates(k_He4_O15_to_n_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_n_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_n_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 32.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_S32) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O15_to_p_F18_reaclib); - rate_eval.screened_rates(k_He4_O15_to_p_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S32) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S32) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 33.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_S33) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_S33) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_F17_reaclib); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 33.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S33) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S33) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_reaclib); - rate_eval.screened_rates(k_p_O16_to_He4_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_reaclib); - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 34.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_S34) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_S34) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 34.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S34) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S34) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_n_Ne19_reaclib); - rate_eval.screened_rates(k_He4_O16_to_n_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_n_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_n_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 35.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_S35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_S35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O16_to_p_F19_reaclib); - rate_eval.screened_rates(k_He4_O16_to_p_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 35.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S35) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 36.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_S36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_S36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O17_to_F18_reaclib); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 36.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_S36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_S36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O17_to_n_F17_reaclib); - rate_eval.screened_rates(k_p_O17_to_n_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_n_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_n_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 33.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cl33) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cl33) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib); - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 34.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cl34) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cl34) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl35) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 35.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cl35) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cl35) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 36.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O17_to_n_Ne20_reaclib); - rate_eval.screened_rates(k_He4_O17_to_n_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_n_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O17_to_n_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 36.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cl36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cl36) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 37.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cl37) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cl37) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_F19_reaclib); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 37.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cl37) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cl37) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_n_F18_reaclib); - rate_eval.screened_rates(k_p_O18_to_n_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_n_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_n_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 36.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ar36) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib); - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar36) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar36) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 37.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ar37) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ar37) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 18.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 37.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar37) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar37) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib); - rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 38.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ar38) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ar38) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_O18_to_n_Ne21_reaclib); - rate_eval.screened_rates(k_He4_O18_to_n_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O18_to_n_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_O18_to_n_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 38.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar38) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar38) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 39.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ar39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ar39) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 39.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar39) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F17_to_He4_O14_reaclib); - rate_eval.screened_rates(k_p_F17_to_He4_O14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_reaclib); - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 40.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ar40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ar40) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ar40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ar40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib); - rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K39) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 39.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_K39) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_K39) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 40.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_K40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_K40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F18_to_n_Ne18_reaclib); - rate_eval.screened_rates(k_p_F18_to_n_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_n_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_n_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 41.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_K41) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_K41) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib); - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 41.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_K41) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_K41) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca40) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 41.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca41) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca41) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F18_to_n_Na21_reaclib); - rate_eval.screened_rates(k_He4_F18_to_n_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_n_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_n_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 42.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca42) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca42) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 42.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca42) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca42) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 43.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_F19_to_Ne20_reaclib); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F19_to_n_Ne19_reaclib); - rate_eval.screened_rates(k_p_F19_to_n_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_n_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_n_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 43.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 44.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca44) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 19.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 45.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca45) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F19_to_n_Na22_reaclib); - rate_eval.screened_rates(k_He4_F19_to_n_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_n_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_n_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 45.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca45) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib); - rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 46.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca46) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 19.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 46.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca46) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne19_to_Mg23_reaclib); - rate_eval.screened_rates(k_He4_Ne19_to_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne19_to_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca47) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 20.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc43) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 43.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc43) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc43) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 44.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc44) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_reaclib); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.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_Ne21_to_Na22_reaclib); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne21_to_n_Na21_reaclib); - rate_eval.screened_rates(k_p_Ne21_to_n_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_n_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_n_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne21_to_He4_F18_reaclib); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 21.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne21_to_Mg25_reaclib); - rate_eval.screened_rates(k_He4_Ne21_to_Mg25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne21_to_Mg25_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne21_to_Mg25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne21_to_n_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Ne21_to_n_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne21_to_n_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne21_to_n_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 22.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_Ne22_to_Na23_reaclib); - rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne22_to_n_Na22_reaclib); - rate_eval.screened_rates(k_p_Ne22_to_n_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne22_to_n_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne22_to_n_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ne22_to_He4_F19_reaclib); - rate_eval.screened_rates(k_p_Ne22_to_He4_F19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 22.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne22_to_Mg26_reaclib); - rate_eval.screened_rates(k_He4_Ne22_to_Mg26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne22_to_Mg26_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne22_to_Mg26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ne22_to_n_Mg25_reaclib); - rate_eval.screened_rates(k_He4_Ne22_to_n_Mg25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne22_to_n_Mg25_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne22_to_n_Mg25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 21.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na21_to_Al25_reaclib); - rate_eval.screened_rates(k_He4_Na21_to_Al25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na21_to_Al25_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na21_to_Al25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_reaclib); - rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 22.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_Na22_to_Mg23_reaclib); - rate_eval.screened_rates(k_p_Na22_to_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na22_to_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na22_to_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_reaclib); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 22.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na22_to_Al26_reaclib); - rate_eval.screened_rates(k_He4_Na22_to_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Na22_to_n_Al25_reaclib); - rate_eval.screened_rates(k_He4_Na22_to_n_Al25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na22_to_n_Al25_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na22_to_n_Al25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Na22_to_p_Mg25_reaclib); - rate_eval.screened_rates(k_He4_Na22_to_p_Mg25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na22_to_p_Mg25_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na22_to_p_Mg25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.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_Na23_to_Mg24_reaclib); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_p_Na23_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Na23_to_C12_C12_reaclib); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 11.0_rt, 23.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib); - rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Na23_to_n_Al26_reaclib); - rate_eval.screened_rates(k_He4_Na23_to_n_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na23_to_n_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na23_to_n_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Na23_to_p_Mg26_reaclib); - rate_eval.screened_rates(k_He4_Na23_to_p_Mg26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Na23_to_p_Mg26_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Na23_to_p_Mg26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 24.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_Mg24_to_Al25_reaclib); - rate_eval.screened_rates(k_p_Mg24_to_Al25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib); - rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_reaclib); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 25.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_Mg25_to_Al26_reaclib); - rate_eval.screened_rates(k_p_Mg25_to_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg25_to_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg25_to_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mg25_to_n_Al25_reaclib); - rate_eval.screened_rates(k_p_Mg25_to_n_Al25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg25_to_n_Al25_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg25_to_n_Al25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mg25_to_He4_Na22_reaclib); - rate_eval.screened_rates(k_p_Mg25_to_He4_Na22_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg25_to_He4_Na22_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg25_to_He4_Na22_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 25.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg25_to_Si29_reaclib); - rate_eval.screened_rates(k_He4_Mg25_to_Si29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg25_to_Si29_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg25_to_Si29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg25_to_n_Si28_reaclib); - rate_eval.screened_rates(k_He4_Mg25_to_n_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg25_to_n_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg25_to_n_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 12.0_rt, 26.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_Mg26_to_Al27_reaclib); - rate_eval.screened_rates(k_p_Mg26_to_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg26_to_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg26_to_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mg26_to_n_Al26_reaclib); - rate_eval.screened_rates(k_p_Mg26_to_n_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg26_to_n_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg26_to_n_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mg26_to_He4_Na23_reaclib); - rate_eval.screened_rates(k_p_Mg26_to_He4_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mg26_to_He4_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mg26_to_He4_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 26.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg26_to_Si30_reaclib); - rate_eval.screened_rates(k_He4_Mg26_to_Si30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg26_to_Si30_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg26_to_Si30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mg26_to_n_Si29_reaclib); - rate_eval.screened_rates(k_He4_Mg26_to_n_Si29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg26_to_n_Si29_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg26_to_n_Si29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 25.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Al25_to_P29_reaclib); - rate_eval.screened_rates(k_He4_Al25_to_P29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al25_to_P29_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al25_to_P29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Al25_to_p_Si28_reaclib); - rate_eval.screened_rates(k_He4_Al25_to_p_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al25_to_p_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al25_to_p_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 26.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Al26_to_P30_reaclib); - rate_eval.screened_rates(k_He4_Al26_to_P30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al26_to_P30_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al26_to_P30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Al26_to_n_P29_reaclib); - rate_eval.screened_rates(k_He4_Al26_to_n_P29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al26_to_n_P29_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al26_to_n_P29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Al26_to_p_Si29_reaclib); - rate_eval.screened_rates(k_He4_Al26_to_p_Si29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al26_to_p_Si29_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al26_to_p_Si29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.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_Al27_to_Si28_reaclib); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Al27_to_C12_O16_reaclib); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 13.0_rt, 27.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Al27_to_n_P30_reaclib); - rate_eval.screened_rates(k_He4_Al27_to_n_P30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al27_to_n_P30_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al27_to_n_P30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Al27_to_p_Si30_reaclib); - rate_eval.screened_rates(k_He4_Al27_to_p_Si30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Al27_to_p_Si30_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Al27_to_p_Si30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 28.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_Si28_to_P29_reaclib); - rate_eval.screened_rates(k_p_Si28_to_P29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si28_to_P29_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si28_to_P29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si28_to_He4_Al25_reaclib); - rate_eval.screened_rates(k_p_Si28_to_He4_Al25_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si28_to_He4_Al25_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si28_to_He4_Al25_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_C12_Ne20_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_C12_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_C12_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_C12_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si28_to_O16_O16_reaclib); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 29.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_Si29_to_P30_reaclib); - rate_eval.screened_rates(k_p_Si29_to_P30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si29_to_P30_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si29_to_P30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si29_to_n_P29_reaclib); - rate_eval.screened_rates(k_p_Si29_to_n_P29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si29_to_n_P29_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si29_to_n_P29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si29_to_He4_Al26_reaclib); - rate_eval.screened_rates(k_p_Si29_to_He4_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si29_to_He4_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si29_to_He4_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 29.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si29_to_S33_reaclib); - rate_eval.screened_rates(k_He4_Si29_to_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si29_to_S33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si29_to_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si29_to_n_S32_reaclib); - rate_eval.screened_rates(k_He4_Si29_to_n_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si29_to_n_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si29_to_n_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si29_to_p_P32_reaclib); - rate_eval.screened_rates(k_He4_Si29_to_p_P32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si29_to_p_P32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si29_to_p_P32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 30.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_Si30_to_P31_reaclib); - rate_eval.screened_rates(k_p_Si30_to_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si30_to_P31_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si30_to_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si30_to_n_P30_reaclib); - rate_eval.screened_rates(k_p_Si30_to_n_P30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si30_to_n_P30_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si30_to_n_P30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si30_to_He4_Al27_reaclib); - rate_eval.screened_rates(k_p_Si30_to_He4_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si30_to_He4_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si30_to_He4_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 30.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si30_to_S34_reaclib); - rate_eval.screened_rates(k_He4_Si30_to_S34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si30_to_S34_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si30_to_S34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si30_to_n_S33_reaclib); - rate_eval.screened_rates(k_He4_Si30_to_n_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si30_to_n_S33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si30_to_n_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si30_to_p_P33_reaclib); - rate_eval.screened_rates(k_He4_Si30_to_p_P33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si30_to_p_P33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si30_to_p_P33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 31.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_Si31_to_P32_reaclib); - rate_eval.screened_rates(k_p_Si31_to_P32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si31_to_P32_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si31_to_P32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si31_to_n_P31_reaclib); - rate_eval.screened_rates(k_p_Si31_to_n_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si31_to_n_P31_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si31_to_n_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 31.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si31_to_S35_reaclib); - rate_eval.screened_rates(k_He4_Si31_to_S35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si31_to_S35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si31_to_S35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si31_to_n_S34_reaclib); - rate_eval.screened_rates(k_He4_Si31_to_n_S34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si31_to_n_S34_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si31_to_n_S34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 14.0_rt, 32.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_Si32_to_P33_reaclib); - rate_eval.screened_rates(k_p_Si32_to_P33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si32_to_P33_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si32_to_P33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Si32_to_n_P32_reaclib); - rate_eval.screened_rates(k_p_Si32_to_n_P32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Si32_to_n_P32_reaclib); - rate_eval.dscreened_rates_dT(k_p_Si32_to_n_P32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 32.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Si32_to_S36_reaclib); - rate_eval.screened_rates(k_He4_Si32_to_S36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si32_to_S36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si32_to_S36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Si32_to_n_S35_reaclib); - rate_eval.screened_rates(k_He4_Si32_to_n_S35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si32_to_n_S35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Si32_to_n_S35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 29.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_P29_to_Cl33_reaclib); - rate_eval.screened_rates(k_He4_P29_to_Cl33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P29_to_Cl33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P29_to_Cl33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P29_to_p_S32_reaclib); - rate_eval.screened_rates(k_He4_P29_to_p_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P29_to_p_S32_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P29_to_p_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 30.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_P30_to_Cl34_reaclib); - rate_eval.screened_rates(k_He4_P30_to_Cl34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P30_to_Cl34_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P30_to_Cl34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P30_to_n_Cl33_reaclib); - rate_eval.screened_rates(k_He4_P30_to_n_Cl33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P30_to_n_Cl33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P30_to_n_Cl33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P30_to_p_S33_reaclib); - rate_eval.screened_rates(k_He4_P30_to_p_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P30_to_p_S33_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P30_to_p_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.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_P31_to_S32_reaclib); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_C12_Ne20_reaclib); - rate_eval.screened_rates(k_p_P31_to_C12_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_C12_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_C12_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P31_to_O16_O16_reaclib); - rate_eval.screened_rates(k_p_P31_to_O16_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_reaclib); - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 31.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_P31_to_Cl35_reaclib); - rate_eval.screened_rates(k_He4_P31_to_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P31_to_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P31_to_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P31_to_n_Cl34_reaclib); - rate_eval.screened_rates(k_He4_P31_to_n_Cl34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P31_to_n_Cl34_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P31_to_n_Cl34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P31_to_p_S34_reaclib); - rate_eval.screened_rates(k_He4_P31_to_p_S34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P31_to_p_S34_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P31_to_p_S34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 32.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_P32_to_S33_reaclib); - rate_eval.screened_rates(k_p_P32_to_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P32_to_S33_reaclib); - rate_eval.dscreened_rates_dT(k_p_P32_to_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P32_to_n_S32_reaclib); - rate_eval.screened_rates(k_p_P32_to_n_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P32_to_n_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_P32_to_n_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P32_to_He4_Si29_reaclib); - rate_eval.screened_rates(k_p_P32_to_He4_Si29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P32_to_He4_Si29_reaclib); - rate_eval.dscreened_rates_dT(k_p_P32_to_He4_Si29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 32.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_P32_to_Cl36_reaclib); - rate_eval.screened_rates(k_He4_P32_to_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P32_to_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P32_to_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P32_to_n_Cl35_reaclib); - rate_eval.screened_rates(k_He4_P32_to_n_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P32_to_n_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P32_to_n_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P32_to_p_S35_reaclib); - rate_eval.screened_rates(k_He4_P32_to_p_S35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P32_to_p_S35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P32_to_p_S35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 33.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_P33_to_S34_reaclib); - rate_eval.screened_rates(k_p_P33_to_S34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P33_to_S34_reaclib); - rate_eval.dscreened_rates_dT(k_p_P33_to_S34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P33_to_n_S33_reaclib); - rate_eval.screened_rates(k_p_P33_to_n_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P33_to_n_S33_reaclib); - rate_eval.dscreened_rates_dT(k_p_P33_to_n_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_P33_to_He4_Si30_reaclib); - rate_eval.screened_rates(k_p_P33_to_He4_Si30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P33_to_He4_Si30_reaclib); - rate_eval.dscreened_rates_dT(k_p_P33_to_He4_Si30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 15.0_rt, 33.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_P33_to_Cl37_reaclib); - rate_eval.screened_rates(k_He4_P33_to_Cl37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P33_to_Cl37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P33_to_Cl37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P33_to_n_Cl36_reaclib); - rate_eval.screened_rates(k_He4_P33_to_n_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P33_to_n_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P33_to_n_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_P33_to_p_S36_reaclib); - rate_eval.screened_rates(k_He4_P33_to_p_S36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_P33_to_p_S36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_P33_to_p_S36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 32.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_S32_to_Cl33_reaclib); - rate_eval.screened_rates(k_p_S32_to_Cl33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S32_to_Cl33_reaclib); - rate_eval.dscreened_rates_dT(k_p_S32_to_Cl33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S32_to_He4_P29_reaclib); - rate_eval.screened_rates(k_p_S32_to_He4_P29_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S32_to_He4_P29_reaclib); - rate_eval.dscreened_rates_dT(k_p_S32_to_He4_P29_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_reaclib); - rate_eval.screened_rates(k_He4_S32_to_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_reaclib); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 33.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_S33_to_Cl34_reaclib); - rate_eval.screened_rates(k_p_S33_to_Cl34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S33_to_Cl34_reaclib); - rate_eval.dscreened_rates_dT(k_p_S33_to_Cl34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S33_to_n_Cl33_reaclib); - rate_eval.screened_rates(k_p_S33_to_n_Cl33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S33_to_n_Cl33_reaclib); - rate_eval.dscreened_rates_dT(k_p_S33_to_n_Cl33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S33_to_He4_P30_reaclib); - rate_eval.screened_rates(k_p_S33_to_He4_P30_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S33_to_He4_P30_reaclib); - rate_eval.dscreened_rates_dT(k_p_S33_to_He4_P30_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 33.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S33_to_Ar37_reaclib); - rate_eval.screened_rates(k_He4_S33_to_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S33_to_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S33_to_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S33_to_n_Ar36_reaclib); - rate_eval.screened_rates(k_He4_S33_to_n_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S33_to_n_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S33_to_n_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S33_to_p_Cl36_reaclib); - rate_eval.screened_rates(k_He4_S33_to_p_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S33_to_p_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S33_to_p_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 34.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_S34_to_Cl35_reaclib); - rate_eval.screened_rates(k_p_S34_to_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S34_to_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_p_S34_to_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S34_to_n_Cl34_reaclib); - rate_eval.screened_rates(k_p_S34_to_n_Cl34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S34_to_n_Cl34_reaclib); - rate_eval.dscreened_rates_dT(k_p_S34_to_n_Cl34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S34_to_He4_P31_reaclib); - rate_eval.screened_rates(k_p_S34_to_He4_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S34_to_He4_P31_reaclib); - rate_eval.dscreened_rates_dT(k_p_S34_to_He4_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 34.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S34_to_Ar38_reaclib); - rate_eval.screened_rates(k_He4_S34_to_Ar38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S34_to_Ar38_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S34_to_Ar38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S34_to_n_Ar37_reaclib); - rate_eval.screened_rates(k_He4_S34_to_n_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S34_to_n_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S34_to_n_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S34_to_p_Cl37_reaclib); - rate_eval.screened_rates(k_He4_S34_to_p_Cl37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S34_to_p_Cl37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S34_to_p_Cl37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 35.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_S35_to_Cl36_reaclib); - rate_eval.screened_rates(k_p_S35_to_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S35_to_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_p_S35_to_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S35_to_n_Cl35_reaclib); - rate_eval.screened_rates(k_p_S35_to_n_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S35_to_n_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_p_S35_to_n_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S35_to_He4_P32_reaclib); - rate_eval.screened_rates(k_p_S35_to_He4_P32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S35_to_He4_P32_reaclib); - rate_eval.dscreened_rates_dT(k_p_S35_to_He4_P32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 35.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S35_to_Ar39_reaclib); - rate_eval.screened_rates(k_He4_S35_to_Ar39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S35_to_Ar39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S35_to_Ar39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S35_to_n_Ar38_reaclib); - rate_eval.screened_rates(k_He4_S35_to_n_Ar38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S35_to_n_Ar38_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S35_to_n_Ar38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 16.0_rt, 36.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_S36_to_Cl37_reaclib); - rate_eval.screened_rates(k_p_S36_to_Cl37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S36_to_Cl37_reaclib); - rate_eval.dscreened_rates_dT(k_p_S36_to_Cl37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S36_to_n_Cl36_reaclib); - rate_eval.screened_rates(k_p_S36_to_n_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S36_to_n_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_p_S36_to_n_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_S36_to_He4_P33_reaclib); - rate_eval.screened_rates(k_p_S36_to_He4_P33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_S36_to_He4_P33_reaclib); - rate_eval.dscreened_rates_dT(k_p_S36_to_He4_P33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 36.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_S36_to_Ar40_reaclib); - rate_eval.screened_rates(k_He4_S36_to_Ar40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S36_to_Ar40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S36_to_Ar40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_S36_to_n_Ar39_reaclib); - rate_eval.screened_rates(k_He4_S36_to_n_Ar39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S36_to_n_Ar39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_S36_to_n_Ar39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 33.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cl33_to_K37_reaclib); - rate_eval.screened_rates(k_He4_Cl33_to_K37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl33_to_K37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl33_to_K37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl33_to_p_Ar36_reaclib); - rate_eval.screened_rates(k_He4_Cl33_to_p_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl33_to_p_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl33_to_p_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 34.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cl34_to_K38_reaclib); - rate_eval.screened_rates(k_He4_Cl34_to_K38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl34_to_K38_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_K38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl34_to_n_K37_reaclib); - rate_eval.screened_rates(k_He4_Cl34_to_n_K37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl34_to_n_K37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_n_K37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl34_to_p_Ar37_reaclib); - rate_eval.screened_rates(k_He4_Cl34_to_p_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl34_to_p_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_p_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.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_Cl35_to_Ar36_reaclib); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_reaclib); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 35.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cl35_to_K39_reaclib); - rate_eval.screened_rates(k_He4_Cl35_to_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl35_to_K39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl35_to_n_K38_reaclib); - rate_eval.screened_rates(k_He4_Cl35_to_n_K38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl35_to_n_K38_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_n_K38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl35_to_p_Ar38_reaclib); - rate_eval.screened_rates(k_He4_Cl35_to_p_Ar38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl35_to_p_Ar38_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_p_Ar38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 36.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_Cl36_to_Ar37_reaclib); - rate_eval.screened_rates(k_p_Cl36_to_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl36_to_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl36_to_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl36_to_n_Ar36_reaclib); - rate_eval.screened_rates(k_p_Cl36_to_n_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl36_to_n_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl36_to_n_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl36_to_He4_S33_reaclib); - rate_eval.screened_rates(k_p_Cl36_to_He4_S33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl36_to_He4_S33_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl36_to_He4_S33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 36.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cl36_to_K40_reaclib); - rate_eval.screened_rates(k_He4_Cl36_to_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl36_to_K40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl36_to_n_K39_reaclib); - rate_eval.screened_rates(k_He4_Cl36_to_n_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl36_to_n_K39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_n_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl36_to_p_Ar39_reaclib); - rate_eval.screened_rates(k_He4_Cl36_to_p_Ar39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl36_to_p_Ar39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_p_Ar39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 37.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_Cl37_to_Ar38_reaclib); - rate_eval.screened_rates(k_p_Cl37_to_Ar38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl37_to_Ar38_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl37_to_Ar38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl37_to_n_Ar37_reaclib); - rate_eval.screened_rates(k_p_Cl37_to_n_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl37_to_n_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl37_to_n_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cl37_to_He4_S34_reaclib); - rate_eval.screened_rates(k_p_Cl37_to_He4_S34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl37_to_He4_S34_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cl37_to_He4_S34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 17.0_rt, 37.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cl37_to_K41_reaclib); - rate_eval.screened_rates(k_He4_Cl37_to_K41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl37_to_K41_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_K41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl37_to_n_K40_reaclib); - rate_eval.screened_rates(k_He4_Cl37_to_n_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl37_to_n_K40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_n_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cl37_to_p_Ar40_reaclib); - rate_eval.screened_rates(k_He4_Cl37_to_p_Ar40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cl37_to_p_Ar40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_p_Ar40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 36.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_Ar36_to_K37_reaclib); - rate_eval.screened_rates(k_p_Ar36_to_K37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar36_to_K37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar36_to_K37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar36_to_He4_Cl33_reaclib); - rate_eval.screened_rates(k_p_Ar36_to_He4_Cl33_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar36_to_He4_Cl33_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar36_to_He4_Cl33_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_reaclib); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_reaclib); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 37.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_Ar37_to_K38_reaclib); - rate_eval.screened_rates(k_p_Ar37_to_K38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar37_to_K38_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar37_to_K38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar37_to_n_K37_reaclib); - rate_eval.screened_rates(k_p_Ar37_to_n_K37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar37_to_n_K37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar37_to_n_K37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar37_to_He4_Cl34_reaclib); - rate_eval.screened_rates(k_p_Ar37_to_He4_Cl34_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar37_to_He4_Cl34_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar37_to_He4_Cl34_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 37.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar37_to_Ca41_reaclib); - rate_eval.screened_rates(k_He4_Ar37_to_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar37_to_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar37_to_n_Ca40_reaclib); - rate_eval.screened_rates(k_He4_Ar37_to_n_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar37_to_n_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_n_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar37_to_p_K40_reaclib); - rate_eval.screened_rates(k_He4_Ar37_to_p_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar37_to_p_K40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_p_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 38.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_Ar38_to_K39_reaclib); - rate_eval.screened_rates(k_p_Ar38_to_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar38_to_K39_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar38_to_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar38_to_n_K38_reaclib); - rate_eval.screened_rates(k_p_Ar38_to_n_K38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar38_to_n_K38_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar38_to_n_K38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar38_to_He4_Cl35_reaclib); - rate_eval.screened_rates(k_p_Ar38_to_He4_Cl35_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar38_to_He4_Cl35_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar38_to_He4_Cl35_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 38.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar38_to_Ca42_reaclib); - rate_eval.screened_rates(k_He4_Ar38_to_Ca42_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar38_to_Ca42_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_Ca42_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar38_to_n_Ca41_reaclib); - rate_eval.screened_rates(k_He4_Ar38_to_n_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar38_to_n_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_n_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar38_to_p_K41_reaclib); - rate_eval.screened_rates(k_He4_Ar38_to_p_K41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar38_to_p_K41_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_p_K41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 39.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_Ar39_to_K40_reaclib); - rate_eval.screened_rates(k_p_Ar39_to_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar39_to_K40_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar39_to_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar39_to_n_K39_reaclib); - rate_eval.screened_rates(k_p_Ar39_to_n_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar39_to_n_K39_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar39_to_n_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar39_to_He4_Cl36_reaclib); - rate_eval.screened_rates(k_p_Ar39_to_He4_Cl36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar39_to_He4_Cl36_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar39_to_He4_Cl36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 39.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar39_to_Ca43_reaclib); - rate_eval.screened_rates(k_He4_Ar39_to_Ca43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar39_to_Ca43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar39_to_Ca43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar39_to_n_Ca42_reaclib); - rate_eval.screened_rates(k_He4_Ar39_to_n_Ca42_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar39_to_n_Ca42_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar39_to_n_Ca42_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 18.0_rt, 40.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_Ar40_to_K41_reaclib); - rate_eval.screened_rates(k_p_Ar40_to_K41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar40_to_K41_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar40_to_K41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar40_to_n_K40_reaclib); - rate_eval.screened_rates(k_p_Ar40_to_n_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar40_to_n_K40_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar40_to_n_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ar40_to_He4_Cl37_reaclib); - rate_eval.screened_rates(k_p_Ar40_to_He4_Cl37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ar40_to_He4_Cl37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ar40_to_He4_Cl37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 40.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ar40_to_Ca44_reaclib); - rate_eval.screened_rates(k_He4_Ar40_to_Ca44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar40_to_Ca44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar40_to_Ca44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ar40_to_n_Ca43_reaclib); - rate_eval.screened_rates(k_He4_Ar40_to_n_Ca43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar40_to_n_Ca43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ar40_to_n_Ca43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.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_K39_to_Ca40_reaclib); - rate_eval.screened_rates(k_p_K39_to_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_reaclib); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_reaclib); - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 39.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_K39_to_Sc43_reaclib); - rate_eval.screened_rates(k_He4_K39_to_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K39_to_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K39_to_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_K39_to_p_Ca42_reaclib); - rate_eval.screened_rates(k_He4_K39_to_p_Ca42_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K39_to_p_Ca42_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K39_to_p_Ca42_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 40.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_K40_to_Ca41_reaclib); - rate_eval.screened_rates(k_p_K40_to_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K40_to_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_p_K40_to_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K40_to_n_Ca40_reaclib); - rate_eval.screened_rates(k_p_K40_to_n_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K40_to_n_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_p_K40_to_n_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K40_to_He4_Ar37_reaclib); - rate_eval.screened_rates(k_p_K40_to_He4_Ar37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K40_to_He4_Ar37_reaclib); - rate_eval.dscreened_rates_dT(k_p_K40_to_He4_Ar37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 40.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_K40_to_Sc44_reaclib); - rate_eval.screened_rates(k_He4_K40_to_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K40_to_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K40_to_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_K40_to_n_Sc43_reaclib); - rate_eval.screened_rates(k_He4_K40_to_n_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K40_to_n_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K40_to_n_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_K40_to_p_Ca43_reaclib); - rate_eval.screened_rates(k_He4_K40_to_p_Ca43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K40_to_p_Ca43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K40_to_p_Ca43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 41.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_K41_to_Ca42_reaclib); - rate_eval.screened_rates(k_p_K41_to_Ca42_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K41_to_Ca42_reaclib); - rate_eval.dscreened_rates_dT(k_p_K41_to_Ca42_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K41_to_n_Ca41_reaclib); - rate_eval.screened_rates(k_p_K41_to_n_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K41_to_n_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_p_K41_to_n_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_K41_to_He4_Ar38_reaclib); - rate_eval.screened_rates(k_p_K41_to_He4_Ar38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K41_to_He4_Ar38_reaclib); - rate_eval.dscreened_rates_dT(k_p_K41_to_He4_Ar38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 41.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_K41_to_Sc45_reaclib); - rate_eval.screened_rates(k_He4_K41_to_Sc45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K41_to_Sc45_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K41_to_Sc45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_K41_to_n_Sc44_reaclib); - rate_eval.screened_rates(k_He4_K41_to_n_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K41_to_n_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K41_to_n_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_K41_to_p_Ca44_reaclib); - rate_eval.screened_rates(k_He4_K41_to_p_Ca44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K41_to_p_Ca44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K41_to_p_Ca44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_reaclib); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_reaclib); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 41.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca41_to_Ti45_reaclib); - rate_eval.screened_rates(k_He4_Ca41_to_Ti45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca41_to_Ti45_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_Ti45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca41_to_n_Ti44_reaclib); - rate_eval.screened_rates(k_He4_Ca41_to_n_Ti44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca41_to_n_Ti44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_n_Ti44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca41_to_p_Sc44_reaclib); - rate_eval.screened_rates(k_He4_Ca41_to_p_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca41_to_p_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_p_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 42.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_Ca42_to_Sc43_reaclib); - rate_eval.screened_rates(k_p_Ca42_to_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca42_to_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca42_to_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca42_to_He4_K39_reaclib); - rate_eval.screened_rates(k_p_Ca42_to_He4_K39_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca42_to_He4_K39_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca42_to_He4_K39_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 42.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca42_to_Ti46_reaclib); - rate_eval.screened_rates(k_He4_Ca42_to_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca42_to_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca42_to_n_Ti45_reaclib); - rate_eval.screened_rates(k_He4_Ca42_to_n_Ti45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca42_to_n_Ti45_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_n_Ti45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca42_to_p_Sc45_reaclib); - rate_eval.screened_rates(k_He4_Ca42_to_p_Sc45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca42_to_p_Sc45_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_p_Sc45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 43.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_Ca43_to_Sc44_reaclib); - rate_eval.screened_rates(k_p_Ca43_to_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca43_to_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca43_to_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca43_to_n_Sc43_reaclib); - rate_eval.screened_rates(k_p_Ca43_to_n_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca43_to_n_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca43_to_n_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca43_to_He4_K40_reaclib); - rate_eval.screened_rates(k_p_Ca43_to_He4_K40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca43_to_He4_K40_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca43_to_He4_K40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 43.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca43_to_Ti47_reaclib); - rate_eval.screened_rates(k_He4_Ca43_to_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca43_to_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca43_to_n_Ti46_reaclib); - rate_eval.screened_rates(k_He4_Ca43_to_n_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca43_to_n_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_n_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca43_to_p_Sc46_reaclib); - rate_eval.screened_rates(k_He4_Ca43_to_p_Sc46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca43_to_p_Sc46_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_p_Sc46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 44.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_Ca44_to_Sc45_reaclib); - rate_eval.screened_rates(k_p_Ca44_to_Sc45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca44_to_Sc45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca44_to_Sc45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca44_to_n_Sc44_reaclib); - rate_eval.screened_rates(k_p_Ca44_to_n_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca44_to_n_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca44_to_n_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca44_to_He4_K41_reaclib); - rate_eval.screened_rates(k_p_Ca44_to_He4_K41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca44_to_He4_K41_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca44_to_He4_K41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 44.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca44_to_Ti48_reaclib); - rate_eval.screened_rates(k_He4_Ca44_to_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca44_to_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca44_to_n_Ti47_reaclib); - rate_eval.screened_rates(k_He4_Ca44_to_n_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca44_to_n_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_n_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca44_to_p_Sc47_reaclib); - rate_eval.screened_rates(k_He4_Ca44_to_p_Sc47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca44_to_p_Sc47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_p_Sc47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 45.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_Ca45_to_Sc46_reaclib); - rate_eval.screened_rates(k_p_Ca45_to_Sc46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca45_to_Sc46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca45_to_Sc46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca45_to_n_Sc45_reaclib); - rate_eval.screened_rates(k_p_Ca45_to_n_Sc45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca45_to_n_Sc45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca45_to_n_Sc45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 45.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca45_to_Ti49_reaclib); - rate_eval.screened_rates(k_He4_Ca45_to_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca45_to_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca45_to_n_Ti48_reaclib); - rate_eval.screened_rates(k_He4_Ca45_to_n_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca45_to_n_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_n_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca45_to_p_Sc48_reaclib); - rate_eval.screened_rates(k_He4_Ca45_to_p_Sc48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca45_to_p_Sc48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_p_Sc48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 46.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_Ca46_to_Sc47_reaclib); - rate_eval.screened_rates(k_p_Ca46_to_Sc47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca46_to_Sc47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca46_to_Sc47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca46_to_n_Sc46_reaclib); - rate_eval.screened_rates(k_p_Ca46_to_n_Sc46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca46_to_n_Sc46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca46_to_n_Sc46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 46.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca46_to_Ti50_reaclib); - rate_eval.screened_rates(k_He4_Ca46_to_Ti50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca46_to_Ti50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_Ti50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca46_to_n_Ti49_reaclib); - rate_eval.screened_rates(k_He4_Ca46_to_n_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca46_to_n_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_n_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca46_to_p_Sc49_reaclib); - rate_eval.screened_rates(k_He4_Ca46_to_p_Sc49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca46_to_p_Sc49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_p_Sc49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 47.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_Ca47_to_Sc48_reaclib); - rate_eval.screened_rates(k_p_Ca47_to_Sc48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca47_to_Sc48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca47_to_Sc48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca47_to_n_Sc47_reaclib); - rate_eval.screened_rates(k_p_Ca47_to_n_Sc47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca47_to_n_Sc47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca47_to_n_Sc47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 47.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca47_to_Ti51_reaclib); - rate_eval.screened_rates(k_He4_Ca47_to_Ti51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca47_to_Ti51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca47_to_Ti51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ca47_to_n_Ti50_reaclib); - rate_eval.screened_rates(k_He4_Ca47_to_n_Ti50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca47_to_n_Ti50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca47_to_n_Ti50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 48.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_Ca48_to_Sc49_reaclib); - rate_eval.screened_rates(k_p_Ca48_to_Sc49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca48_to_Sc49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca48_to_Sc49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ca48_to_n_Sc48_reaclib); - rate_eval.screened_rates(k_p_Ca48_to_n_Sc48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca48_to_n_Sc48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca48_to_n_Sc48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.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_Sc43_to_Ti44_reaclib); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_reaclib); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 43.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc43_to_V47_reaclib); - rate_eval.screened_rates(k_He4_Sc43_to_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc43_to_V47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc43_to_n_V46_reaclib); - rate_eval.screened_rates(k_He4_Sc43_to_n_V46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc43_to_n_V46_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_n_V46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc43_to_p_Ti46_reaclib); - rate_eval.screened_rates(k_He4_Sc43_to_p_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc43_to_p_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_p_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 44.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_Sc44_to_Ti45_reaclib); - rate_eval.screened_rates(k_p_Sc44_to_Ti45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc44_to_Ti45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc44_to_Ti45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc44_to_n_Ti44_reaclib); - rate_eval.screened_rates(k_p_Sc44_to_n_Ti44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc44_to_n_Ti44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc44_to_n_Ti44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc44_to_He4_Ca41_reaclib); - rate_eval.screened_rates(k_p_Sc44_to_He4_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc44_to_He4_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc44_to_He4_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 44.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc44_to_V48_reaclib); - rate_eval.screened_rates(k_He4_Sc44_to_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc44_to_V48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc44_to_n_V47_reaclib); - rate_eval.screened_rates(k_He4_Sc44_to_n_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc44_to_n_V47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_n_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc44_to_p_Ti47_reaclib); - rate_eval.screened_rates(k_He4_Sc44_to_p_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc44_to_p_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_p_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 45.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_Sc45_to_Ti46_reaclib); - rate_eval.screened_rates(k_p_Sc45_to_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc45_to_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc45_to_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc45_to_n_Ti45_reaclib); - rate_eval.screened_rates(k_p_Sc45_to_n_Ti45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc45_to_n_Ti45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc45_to_n_Ti45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc45_to_He4_Ca42_reaclib); - rate_eval.screened_rates(k_p_Sc45_to_He4_Ca42_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc45_to_He4_Ca42_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc45_to_He4_Ca42_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 45.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc45_to_V49_reaclib); - rate_eval.screened_rates(k_He4_Sc45_to_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc45_to_V49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc45_to_n_V48_reaclib); - rate_eval.screened_rates(k_He4_Sc45_to_n_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc45_to_n_V48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_n_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc45_to_p_Ti48_reaclib); - rate_eval.screened_rates(k_He4_Sc45_to_p_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc45_to_p_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_p_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 46.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_Sc46_to_Ti47_reaclib); - rate_eval.screened_rates(k_p_Sc46_to_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc46_to_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc46_to_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc46_to_n_Ti46_reaclib); - rate_eval.screened_rates(k_p_Sc46_to_n_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc46_to_n_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc46_to_n_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc46_to_He4_Ca43_reaclib); - rate_eval.screened_rates(k_p_Sc46_to_He4_Ca43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc46_to_He4_Ca43_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc46_to_He4_Ca43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 46.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc46_to_V50_reaclib); - rate_eval.screened_rates(k_He4_Sc46_to_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc46_to_V50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc46_to_n_V49_reaclib); - rate_eval.screened_rates(k_He4_Sc46_to_n_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc46_to_n_V49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_n_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc46_to_p_Ti49_reaclib); - rate_eval.screened_rates(k_He4_Sc46_to_p_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc46_to_p_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_p_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 47.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_Sc47_to_Ti48_reaclib); - rate_eval.screened_rates(k_p_Sc47_to_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc47_to_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc47_to_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc47_to_n_Ti47_reaclib); - rate_eval.screened_rates(k_p_Sc47_to_n_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc47_to_n_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc47_to_n_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc47_to_He4_Ca44_reaclib); - rate_eval.screened_rates(k_p_Sc47_to_He4_Ca44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc47_to_He4_Ca44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc47_to_He4_Ca44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 47.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc47_to_V51_reaclib); - rate_eval.screened_rates(k_He4_Sc47_to_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc47_to_V51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc47_to_n_V50_reaclib); - rate_eval.screened_rates(k_He4_Sc47_to_n_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc47_to_n_V50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_n_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc47_to_p_Ti50_reaclib); - rate_eval.screened_rates(k_He4_Sc47_to_p_Ti50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc47_to_p_Ti50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_p_Ti50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 48.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_Sc48_to_Ti49_reaclib); - rate_eval.screened_rates(k_p_Sc48_to_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc48_to_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc48_to_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc48_to_n_Ti48_reaclib); - rate_eval.screened_rates(k_p_Sc48_to_n_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc48_to_n_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc48_to_n_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc48_to_He4_Ca45_reaclib); - rate_eval.screened_rates(k_p_Sc48_to_He4_Ca45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc48_to_He4_Ca45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc48_to_He4_Ca45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 48.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc48_to_V52_reaclib); - rate_eval.screened_rates(k_He4_Sc48_to_V52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc48_to_V52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_V52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc48_to_n_V51_reaclib); - rate_eval.screened_rates(k_He4_Sc48_to_n_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc48_to_n_V51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_n_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Sc48_to_p_Ti51_reaclib); - rate_eval.screened_rates(k_He4_Sc48_to_p_Ti51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc48_to_p_Ti51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_p_Ti51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 49.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_Sc49_to_Ti50_reaclib); - rate_eval.screened_rates(k_p_Sc49_to_Ti50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc49_to_Ti50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc49_to_Ti50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc49_to_n_Ti49_reaclib); - rate_eval.screened_rates(k_p_Sc49_to_n_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc49_to_n_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc49_to_n_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Sc49_to_He4_Ca46_reaclib); - rate_eval.screened_rates(k_p_Sc49_to_He4_Ca46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc49_to_He4_Ca46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Sc49_to_He4_Ca46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_reaclib); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_reaclib); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 45.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_Ti45_to_V46_reaclib); - rate_eval.screened_rates(k_p_Ti45_to_V46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti45_to_V46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti45_to_V46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 45.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti45_to_Cr49_reaclib); - rate_eval.screened_rates(k_He4_Ti45_to_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti45_to_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti45_to_n_Cr48_reaclib); - rate_eval.screened_rates(k_He4_Ti45_to_n_Cr48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti45_to_n_Cr48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_n_Cr48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti45_to_p_V48_reaclib); - rate_eval.screened_rates(k_He4_Ti45_to_p_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti45_to_p_V48_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_p_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 46.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_Ti46_to_V47_reaclib); - rate_eval.screened_rates(k_p_Ti46_to_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti46_to_V47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti46_to_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti46_to_n_V46_reaclib); - rate_eval.screened_rates(k_p_Ti46_to_n_V46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti46_to_n_V46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti46_to_n_V46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti46_to_He4_Sc43_reaclib); - rate_eval.screened_rates(k_p_Ti46_to_He4_Sc43_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti46_to_He4_Sc43_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti46_to_He4_Sc43_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 46.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti46_to_Cr50_reaclib); - rate_eval.screened_rates(k_He4_Ti46_to_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti46_to_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti46_to_n_Cr49_reaclib); - rate_eval.screened_rates(k_He4_Ti46_to_n_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti46_to_n_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_n_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti46_to_p_V49_reaclib); - rate_eval.screened_rates(k_He4_Ti46_to_p_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti46_to_p_V49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_p_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 47.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_Ti47_to_V48_reaclib); - rate_eval.screened_rates(k_p_Ti47_to_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti47_to_V48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti47_to_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti47_to_n_V47_reaclib); - rate_eval.screened_rates(k_p_Ti47_to_n_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti47_to_n_V47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti47_to_n_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti47_to_He4_Sc44_reaclib); - rate_eval.screened_rates(k_p_Ti47_to_He4_Sc44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti47_to_He4_Sc44_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti47_to_He4_Sc44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 47.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti47_to_Cr51_reaclib); - rate_eval.screened_rates(k_He4_Ti47_to_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti47_to_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti47_to_n_Cr50_reaclib); - rate_eval.screened_rates(k_He4_Ti47_to_n_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti47_to_n_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_n_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti47_to_p_V50_reaclib); - rate_eval.screened_rates(k_He4_Ti47_to_p_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti47_to_p_V50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_p_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 48.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_Ti48_to_V49_reaclib); - rate_eval.screened_rates(k_p_Ti48_to_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti48_to_V49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti48_to_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti48_to_n_V48_reaclib); - rate_eval.screened_rates(k_p_Ti48_to_n_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti48_to_n_V48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti48_to_n_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti48_to_He4_Sc45_reaclib); - rate_eval.screened_rates(k_p_Ti48_to_He4_Sc45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti48_to_He4_Sc45_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti48_to_He4_Sc45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 48.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti48_to_Cr52_reaclib); - rate_eval.screened_rates(k_He4_Ti48_to_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti48_to_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti48_to_n_Cr51_reaclib); - rate_eval.screened_rates(k_He4_Ti48_to_n_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti48_to_n_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_n_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti48_to_p_V51_reaclib); - rate_eval.screened_rates(k_He4_Ti48_to_p_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti48_to_p_V51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_p_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 49.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_Ti49_to_V50_reaclib); - rate_eval.screened_rates(k_p_Ti49_to_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti49_to_V50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti49_to_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti49_to_n_V49_reaclib); - rate_eval.screened_rates(k_p_Ti49_to_n_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti49_to_n_V49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti49_to_n_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti49_to_He4_Sc46_reaclib); - rate_eval.screened_rates(k_p_Ti49_to_He4_Sc46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti49_to_He4_Sc46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti49_to_He4_Sc46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 49.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti49_to_Cr53_reaclib); - rate_eval.screened_rates(k_He4_Ti49_to_Cr53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti49_to_Cr53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_Cr53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti49_to_n_Cr52_reaclib); - rate_eval.screened_rates(k_He4_Ti49_to_n_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti49_to_n_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_n_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti49_to_p_V52_reaclib); - rate_eval.screened_rates(k_He4_Ti49_to_p_V52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti49_to_p_V52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_p_V52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 50.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_Ti50_to_V51_reaclib); - rate_eval.screened_rates(k_p_Ti50_to_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti50_to_V51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti50_to_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti50_to_n_V50_reaclib); - rate_eval.screened_rates(k_p_Ti50_to_n_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti50_to_n_V50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti50_to_n_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti50_to_He4_Sc47_reaclib); - rate_eval.screened_rates(k_p_Ti50_to_He4_Sc47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti50_to_He4_Sc47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti50_to_He4_Sc47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 50.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti50_to_Cr54_reaclib); - rate_eval.screened_rates(k_He4_Ti50_to_Cr54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti50_to_Cr54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti50_to_Cr54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ti50_to_n_Cr53_reaclib); - rate_eval.screened_rates(k_He4_Ti50_to_n_Cr53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti50_to_n_Cr53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti50_to_n_Cr53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 51.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_Ti51_to_V52_reaclib); - rate_eval.screened_rates(k_p_Ti51_to_V52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti51_to_V52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti51_to_V52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti51_to_n_V51_reaclib); - rate_eval.screened_rates(k_p_Ti51_to_n_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti51_to_n_V51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti51_to_n_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ti51_to_He4_Sc48_reaclib); - rate_eval.screened_rates(k_p_Ti51_to_He4_Sc48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ti51_to_He4_Sc48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ti51_to_He4_Sc48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 46.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V46_to_Mn50_reaclib); - rate_eval.screened_rates(k_He4_V46_to_Mn50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V46_to_Mn50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V46_to_Mn50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V46_to_p_Cr49_reaclib); - rate_eval.screened_rates(k_He4_V46_to_p_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V46_to_p_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V46_to_p_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.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_V47_to_Cr48_reaclib); - rate_eval.screened_rates(k_p_V47_to_Cr48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_reaclib); - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_reaclib); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_reaclib); - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 47.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V47_to_Mn51_reaclib); - rate_eval.screened_rates(k_He4_V47_to_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V47_to_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V47_to_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V47_to_n_Mn50_reaclib); - rate_eval.screened_rates(k_He4_V47_to_n_Mn50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V47_to_n_Mn50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V47_to_n_Mn50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V47_to_p_Cr50_reaclib); - rate_eval.screened_rates(k_He4_V47_to_p_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V47_to_p_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V47_to_p_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 48.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_V48_to_Cr49_reaclib); - rate_eval.screened_rates(k_p_V48_to_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V48_to_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_p_V48_to_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V48_to_n_Cr48_reaclib); - rate_eval.screened_rates(k_p_V48_to_n_Cr48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V48_to_n_Cr48_reaclib); - rate_eval.dscreened_rates_dT(k_p_V48_to_n_Cr48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V48_to_He4_Ti45_reaclib); - rate_eval.screened_rates(k_p_V48_to_He4_Ti45_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V48_to_He4_Ti45_reaclib); - rate_eval.dscreened_rates_dT(k_p_V48_to_He4_Ti45_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 48.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V48_to_Mn52_reaclib); - rate_eval.screened_rates(k_He4_V48_to_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V48_to_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V48_to_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V48_to_n_Mn51_reaclib); - rate_eval.screened_rates(k_He4_V48_to_n_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V48_to_n_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V48_to_n_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V48_to_p_Cr51_reaclib); - rate_eval.screened_rates(k_He4_V48_to_p_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V48_to_p_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V48_to_p_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 49.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_V49_to_Cr50_reaclib); - rate_eval.screened_rates(k_p_V49_to_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V49_to_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_p_V49_to_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V49_to_n_Cr49_reaclib); - rate_eval.screened_rates(k_p_V49_to_n_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V49_to_n_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_p_V49_to_n_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V49_to_He4_Ti46_reaclib); - rate_eval.screened_rates(k_p_V49_to_He4_Ti46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V49_to_He4_Ti46_reaclib); - rate_eval.dscreened_rates_dT(k_p_V49_to_He4_Ti46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 49.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V49_to_Mn53_reaclib); - rate_eval.screened_rates(k_He4_V49_to_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V49_to_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V49_to_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V49_to_n_Mn52_reaclib); - rate_eval.screened_rates(k_He4_V49_to_n_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V49_to_n_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V49_to_n_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V49_to_p_Cr52_reaclib); - rate_eval.screened_rates(k_He4_V49_to_p_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V49_to_p_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V49_to_p_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 50.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_V50_to_Cr51_reaclib); - rate_eval.screened_rates(k_p_V50_to_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V50_to_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_p_V50_to_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V50_to_n_Cr50_reaclib); - rate_eval.screened_rates(k_p_V50_to_n_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V50_to_n_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_p_V50_to_n_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V50_to_He4_Ti47_reaclib); - rate_eval.screened_rates(k_p_V50_to_He4_Ti47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V50_to_He4_Ti47_reaclib); - rate_eval.dscreened_rates_dT(k_p_V50_to_He4_Ti47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 50.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V50_to_Mn54_reaclib); - rate_eval.screened_rates(k_He4_V50_to_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V50_to_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V50_to_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V50_to_n_Mn53_reaclib); - rate_eval.screened_rates(k_He4_V50_to_n_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V50_to_n_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V50_to_n_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V50_to_p_Cr53_reaclib); - rate_eval.screened_rates(k_He4_V50_to_p_Cr53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V50_to_p_Cr53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V50_to_p_Cr53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 51.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_V51_to_Cr52_reaclib); - rate_eval.screened_rates(k_p_V51_to_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V51_to_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_p_V51_to_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V51_to_n_Cr51_reaclib); - rate_eval.screened_rates(k_p_V51_to_n_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V51_to_n_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_p_V51_to_n_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V51_to_He4_Ti48_reaclib); - rate_eval.screened_rates(k_p_V51_to_He4_Ti48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V51_to_He4_Ti48_reaclib); - rate_eval.dscreened_rates_dT(k_p_V51_to_He4_Ti48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 51.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V51_to_Mn55_reaclib); - rate_eval.screened_rates(k_He4_V51_to_Mn55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V51_to_Mn55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V51_to_Mn55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V51_to_n_Mn54_reaclib); - rate_eval.screened_rates(k_He4_V51_to_n_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V51_to_n_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V51_to_n_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_V51_to_p_Cr54_reaclib); - rate_eval.screened_rates(k_He4_V51_to_p_Cr54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V51_to_p_Cr54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V51_to_p_Cr54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 52.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_V52_to_Cr53_reaclib); - rate_eval.screened_rates(k_p_V52_to_Cr53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V52_to_Cr53_reaclib); - rate_eval.dscreened_rates_dT(k_p_V52_to_Cr53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V52_to_n_Cr52_reaclib); - rate_eval.screened_rates(k_p_V52_to_n_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V52_to_n_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_p_V52_to_n_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_V52_to_He4_Ti49_reaclib); - rate_eval.screened_rates(k_p_V52_to_He4_Ti49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V52_to_He4_Ti49_reaclib); - rate_eval.dscreened_rates_dT(k_p_V52_to_He4_Ti49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 49.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_Cr49_to_Mn50_reaclib); - rate_eval.screened_rates(k_p_Cr49_to_Mn50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr49_to_Mn50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr49_to_Mn50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr49_to_He4_V46_reaclib); - rate_eval.screened_rates(k_p_Cr49_to_He4_V46_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr49_to_He4_V46_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr49_to_He4_V46_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 49.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr49_to_Fe53_reaclib); - rate_eval.screened_rates(k_He4_Cr49_to_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr49_to_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr49_to_n_Fe52_reaclib); - rate_eval.screened_rates(k_He4_Cr49_to_n_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr49_to_n_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_n_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr49_to_p_Mn52_reaclib); - rate_eval.screened_rates(k_He4_Cr49_to_p_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr49_to_p_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_p_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 50.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_Cr50_to_Mn51_reaclib); - rate_eval.screened_rates(k_p_Cr50_to_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr50_to_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr50_to_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr50_to_n_Mn50_reaclib); - rate_eval.screened_rates(k_p_Cr50_to_n_Mn50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr50_to_n_Mn50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr50_to_n_Mn50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr50_to_He4_V47_reaclib); - rate_eval.screened_rates(k_p_Cr50_to_He4_V47_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr50_to_He4_V47_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr50_to_He4_V47_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 50.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr50_to_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Cr50_to_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr50_to_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr50_to_n_Fe53_reaclib); - rate_eval.screened_rates(k_He4_Cr50_to_n_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr50_to_n_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_n_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr50_to_p_Mn53_reaclib); - rate_eval.screened_rates(k_He4_Cr50_to_p_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr50_to_p_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_p_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 51.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_Cr51_to_Mn52_reaclib); - rate_eval.screened_rates(k_p_Cr51_to_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr51_to_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr51_to_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr51_to_n_Mn51_reaclib); - rate_eval.screened_rates(k_p_Cr51_to_n_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr51_to_n_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr51_to_n_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr51_to_He4_V48_reaclib); - rate_eval.screened_rates(k_p_Cr51_to_He4_V48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr51_to_He4_V48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr51_to_He4_V48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 51.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr51_to_Fe55_reaclib); - rate_eval.screened_rates(k_He4_Cr51_to_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr51_to_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr51_to_n_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Cr51_to_n_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr51_to_n_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_n_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr51_to_p_Mn54_reaclib); - rate_eval.screened_rates(k_He4_Cr51_to_p_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr51_to_p_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_p_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 52.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_Cr52_to_Mn53_reaclib); - rate_eval.screened_rates(k_p_Cr52_to_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr52_to_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr52_to_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr52_to_n_Mn52_reaclib); - rate_eval.screened_rates(k_p_Cr52_to_n_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr52_to_n_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr52_to_n_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr52_to_He4_V49_reaclib); - rate_eval.screened_rates(k_p_Cr52_to_He4_V49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr52_to_He4_V49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr52_to_He4_V49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr52_to_Fe56_reaclib); - rate_eval.screened_rates(k_He4_Cr52_to_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr52_to_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_Fe56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr52_to_n_Fe55_reaclib); - rate_eval.screened_rates(k_He4_Cr52_to_n_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr52_to_n_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_n_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr52_to_p_Mn55_reaclib); - rate_eval.screened_rates(k_He4_Cr52_to_p_Mn55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr52_to_p_Mn55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_p_Mn55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 53.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_Cr53_to_Mn54_reaclib); - rate_eval.screened_rates(k_p_Cr53_to_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr53_to_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr53_to_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr53_to_n_Mn53_reaclib); - rate_eval.screened_rates(k_p_Cr53_to_n_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr53_to_n_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr53_to_n_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr53_to_He4_V50_reaclib); - rate_eval.screened_rates(k_p_Cr53_to_He4_V50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr53_to_He4_V50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr53_to_He4_V50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 53.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr53_to_Fe57_reaclib); - rate_eval.screened_rates(k_He4_Cr53_to_Fe57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr53_to_Fe57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr53_to_Fe57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr53_to_n_Fe56_reaclib); - rate_eval.screened_rates(k_He4_Cr53_to_n_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr53_to_n_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr53_to_n_Fe56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 54.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_Cr54_to_Mn55_reaclib); - rate_eval.screened_rates(k_p_Cr54_to_Mn55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr54_to_Mn55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr54_to_Mn55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr54_to_n_Mn54_reaclib); - rate_eval.screened_rates(k_p_Cr54_to_n_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr54_to_n_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr54_to_n_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Cr54_to_He4_V51_reaclib); - rate_eval.screened_rates(k_p_Cr54_to_He4_V51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cr54_to_He4_V51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cr54_to_He4_V51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 54.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cr54_to_Fe58_reaclib); - rate_eval.screened_rates(k_He4_Cr54_to_Fe58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr54_to_Fe58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr54_to_Fe58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Cr54_to_n_Fe57_reaclib); - rate_eval.screened_rates(k_He4_Cr54_to_n_Fe57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr54_to_n_Fe57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cr54_to_n_Fe57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 50.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn50_to_Co54_reaclib); - rate_eval.screened_rates(k_He4_Mn50_to_Co54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn50_to_Co54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_Co54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn50_to_n_Co53_reaclib); - rate_eval.screened_rates(k_He4_Mn50_to_n_Co53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn50_to_n_Co53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_n_Co53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn50_to_p_Fe53_reaclib); - rate_eval.screened_rates(k_He4_Mn50_to_p_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn50_to_p_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_p_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.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_Mn51_to_Fe52_reaclib); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_reaclib); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_n_Co54_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_n_Co54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_n_Co54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_n_Co54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 52.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_Mn52_to_Fe53_reaclib); - rate_eval.screened_rates(k_p_Mn52_to_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn52_to_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn52_to_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn52_to_n_Fe52_reaclib); - rate_eval.screened_rates(k_p_Mn52_to_n_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn52_to_n_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn52_to_n_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn52_to_He4_Cr49_reaclib); - rate_eval.screened_rates(k_p_Mn52_to_He4_Cr49_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn52_to_He4_Cr49_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn52_to_He4_Cr49_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn52_to_Co56_reaclib); - rate_eval.screened_rates(k_He4_Mn52_to_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn52_to_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn52_to_n_Co55_reaclib); - rate_eval.screened_rates(k_He4_Mn52_to_n_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn52_to_n_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_n_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn52_to_p_Fe55_reaclib); - rate_eval.screened_rates(k_He4_Mn52_to_p_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn52_to_p_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_p_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 53.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_Mn53_to_Fe54_reaclib); - rate_eval.screened_rates(k_p_Mn53_to_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn53_to_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn53_to_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn53_to_n_Fe53_reaclib); - rate_eval.screened_rates(k_p_Mn53_to_n_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn53_to_n_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn53_to_n_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn53_to_He4_Cr50_reaclib); - rate_eval.screened_rates(k_p_Mn53_to_He4_Cr50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn53_to_He4_Cr50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn53_to_He4_Cr50_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 53.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn53_to_Co57_reaclib); - rate_eval.screened_rates(k_He4_Mn53_to_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn53_to_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn53_to_n_Co56_reaclib); - rate_eval.screened_rates(k_He4_Mn53_to_n_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn53_to_n_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_n_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn53_to_p_Fe56_reaclib); - rate_eval.screened_rates(k_He4_Mn53_to_p_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn53_to_p_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_p_Fe56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 54.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_Mn54_to_Fe55_reaclib); - rate_eval.screened_rates(k_p_Mn54_to_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn54_to_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn54_to_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn54_to_n_Fe54_reaclib); - rate_eval.screened_rates(k_p_Mn54_to_n_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn54_to_n_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn54_to_n_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn54_to_He4_Cr51_reaclib); - rate_eval.screened_rates(k_p_Mn54_to_He4_Cr51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn54_to_He4_Cr51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn54_to_He4_Cr51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 54.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn54_to_Co58_reaclib); - rate_eval.screened_rates(k_He4_Mn54_to_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn54_to_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn54_to_n_Co57_reaclib); - rate_eval.screened_rates(k_He4_Mn54_to_n_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn54_to_n_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_n_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn54_to_p_Fe57_reaclib); - rate_eval.screened_rates(k_He4_Mn54_to_p_Fe57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn54_to_p_Fe57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_p_Fe57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - 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_reaclib); - rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_reaclib); - rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn55_to_n_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn55_to_n_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Mn55_to_He4_Cr52_reaclib); - rate_eval.screened_rates(k_p_Mn55_to_He4_Cr52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn55_to_He4_Cr52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Mn55_to_He4_Cr52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mn55_to_Co59_reaclib); - rate_eval.screened_rates(k_He4_Mn55_to_Co59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn55_to_Co59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_Co59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn55_to_n_Co58_reaclib); - rate_eval.screened_rates(k_He4_Mn55_to_n_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn55_to_n_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_n_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Mn55_to_p_Fe58_reaclib); - rate_eval.screened_rates(k_He4_Mn55_to_p_Fe58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn55_to_p_Fe58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_p_Fe58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 52.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_Fe52_to_Co53_reaclib); - rate_eval.screened_rates(k_p_Fe52_to_Co53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe52_to_Co53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe52_to_Co53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 53.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_Fe53_to_Co54_reaclib); - rate_eval.screened_rates(k_p_Fe53_to_Co54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe53_to_Co54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe53_to_Co54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe53_to_n_Co53_reaclib); - rate_eval.screened_rates(k_p_Fe53_to_n_Co53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe53_to_n_Co53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe53_to_n_Co53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe53_to_He4_Mn50_reaclib); - rate_eval.screened_rates(k_p_Fe53_to_He4_Mn50_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe53_to_He4_Mn50_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe53_to_He4_Mn50_reaclib) = 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); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib); - rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib); - rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.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_Fe54_to_Co55_reaclib); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe54_to_n_Co54_reaclib); - rate_eval.screened_rates(k_p_Fe54_to_n_Co54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_n_Co54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_n_Co54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_reaclib); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_reaclib); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.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_Fe55_to_Co56_reaclib); - rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe55_to_n_Co55_reaclib); - rate_eval.screened_rates(k_p_Fe55_to_n_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe55_to_He4_Mn52_reaclib); - rate_eval.screened_rates(k_p_Fe55_to_He4_Mn52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe55_to_He4_Mn52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe55_to_He4_Mn52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe55_to_Ni59_reaclib); - rate_eval.screened_rates(k_He4_Fe55_to_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe55_to_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe55_to_p_Co58_reaclib); - rate_eval.screened_rates(k_He4_Fe55_to_p_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe55_to_p_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_p_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.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_Fe56_to_Co57_reaclib); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe56_to_n_Co56_reaclib); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe56_to_He4_Mn53_reaclib); - rate_eval.screened_rates(k_p_Fe56_to_He4_Mn53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe56_to_He4_Mn53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe56_to_He4_Mn53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 56.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe56_to_Ni60_reaclib); - rate_eval.screened_rates(k_He4_Fe56_to_Ni60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe56_to_Ni60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_Ni60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe56_to_n_Ni59_reaclib); - rate_eval.screened_rates(k_He4_Fe56_to_n_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe56_to_n_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_n_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe56_to_p_Co59_reaclib); - rate_eval.screened_rates(k_He4_Fe56_to_p_Co59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe56_to_p_Co59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_p_Co59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 57.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_Fe57_to_Co58_reaclib); - rate_eval.screened_rates(k_p_Fe57_to_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe57_to_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe57_to_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe57_to_n_Co57_reaclib); - rate_eval.screened_rates(k_p_Fe57_to_n_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe57_to_n_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe57_to_n_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe57_to_He4_Mn54_reaclib); - rate_eval.screened_rates(k_p_Fe57_to_He4_Mn54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe57_to_He4_Mn54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe57_to_He4_Mn54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 57.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe57_to_Ni61_reaclib); - rate_eval.screened_rates(k_He4_Fe57_to_Ni61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe57_to_Ni61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe57_to_Ni61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe57_to_n_Ni60_reaclib); - rate_eval.screened_rates(k_He4_Fe57_to_n_Ni60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe57_to_n_Ni60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe57_to_n_Ni60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 58.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_Fe58_to_Co59_reaclib); - rate_eval.screened_rates(k_p_Fe58_to_Co59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe58_to_Co59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe58_to_Co59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe58_to_n_Co58_reaclib); - rate_eval.screened_rates(k_p_Fe58_to_n_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe58_to_n_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe58_to_n_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Fe58_to_He4_Mn55_reaclib); - rate_eval.screened_rates(k_p_Fe58_to_He4_Mn55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Fe58_to_He4_Mn55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Fe58_to_He4_Mn55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 58.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Fe58_to_Ni62_reaclib); - rate_eval.screened_rates(k_He4_Fe58_to_Ni62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe58_to_Ni62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe58_to_Ni62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Fe58_to_n_Ni61_reaclib); - rate_eval.screened_rates(k_He4_Fe58_to_n_Ni61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe58_to_n_Ni61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Fe58_to_n_Ni61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 53.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co53_to_Cu57_reaclib); - rate_eval.screened_rates(k_He4_Co53_to_Cu57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co53_to_Cu57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co53_to_Cu57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co53_to_p_Ni56_reaclib); - rate_eval.screened_rates(k_He4_Co53_to_p_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co53_to_p_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co53_to_p_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 54.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co54_to_Cu58_reaclib); - rate_eval.screened_rates(k_He4_Co54_to_Cu58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co54_to_Cu58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co54_to_Cu58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co54_to_n_Cu57_reaclib); - rate_eval.screened_rates(k_He4_Co54_to_n_Cu57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co54_to_n_Cu57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co54_to_n_Cu57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co54_to_p_Ni57_reaclib); - rate_eval.screened_rates(k_He4_Co54_to_p_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co54_to_p_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co54_to_p_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.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_Co55_to_Ni56_reaclib); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_reaclib); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co55_to_n_Cu58_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_n_Cu58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_n_Cu58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_n_Cu58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.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_Co56_to_Ni57_reaclib); - rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co56_to_n_Ni56_reaclib); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_reaclib); - rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 56.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co56_to_Cu60_reaclib); - rate_eval.screened_rates(k_He4_Co56_to_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co56_to_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co56_to_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_reaclib); - rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co56_to_p_Ni59_reaclib); - rate_eval.screened_rates(k_He4_Co56_to_p_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co56_to_p_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co56_to_p_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.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_Co57_to_Ni58_reaclib); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co57_to_n_Ni57_reaclib); - rate_eval.screened_rates(k_p_Co57_to_n_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 57.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co57_to_Cu61_reaclib); - rate_eval.screened_rates(k_He4_Co57_to_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co57_to_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co57_to_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co57_to_n_Cu60_reaclib); - rate_eval.screened_rates(k_He4_Co57_to_n_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co57_to_n_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co57_to_n_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co57_to_p_Ni60_reaclib); - rate_eval.screened_rates(k_He4_Co57_to_p_Ni60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co57_to_p_Ni60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co57_to_p_Ni60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 58.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_Co58_to_Ni59_reaclib); - rate_eval.screened_rates(k_p_Co58_to_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co58_to_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co58_to_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co58_to_n_Ni58_reaclib); - rate_eval.screened_rates(k_p_Co58_to_n_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co58_to_n_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co58_to_n_Ni58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co58_to_He4_Fe55_reaclib); - rate_eval.screened_rates(k_p_Co58_to_He4_Fe55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co58_to_He4_Fe55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co58_to_He4_Fe55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 58.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co58_to_Cu62_reaclib); - rate_eval.screened_rates(k_He4_Co58_to_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co58_to_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co58_to_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co58_to_n_Cu61_reaclib); - rate_eval.screened_rates(k_He4_Co58_to_n_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co58_to_n_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co58_to_n_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co58_to_p_Ni61_reaclib); - rate_eval.screened_rates(k_He4_Co58_to_p_Ni61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co58_to_p_Ni61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co58_to_p_Ni61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 59.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_Co59_to_Ni60_reaclib); - rate_eval.screened_rates(k_p_Co59_to_Ni60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co59_to_Ni60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co59_to_Ni60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co59_to_n_Ni59_reaclib); - rate_eval.screened_rates(k_p_Co59_to_n_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co59_to_n_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co59_to_n_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Co59_to_He4_Fe56_reaclib); - rate_eval.screened_rates(k_p_Co59_to_He4_Fe56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co59_to_He4_Fe56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Co59_to_He4_Fe56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 59.0_rt); - static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Co59_to_Cu63_reaclib); - rate_eval.screened_rates(k_He4_Co59_to_Cu63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co59_to_Cu63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co59_to_Cu63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co59_to_n_Cu62_reaclib); - rate_eval.screened_rates(k_He4_Co59_to_n_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co59_to_n_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co59_to_n_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Co59_to_p_Ni62_reaclib); - rate_eval.screened_rates(k_He4_Co59_to_p_Ni62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co59_to_p_Ni62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Co59_to_p_Ni62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 56.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 45.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_Ni56_to_Cu57_reaclib); - rate_eval.screened_rates(k_p_Ni56_to_Cu57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni56_to_Cu57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni56_to_Cu57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc45) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni56_to_He4_Co53_reaclib); - rate_eval.screened_rates(k_p_Ni56_to_He4_Co53_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni56_to_He4_Co53_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni56_to_He4_Co53_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 56.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 45.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib); - rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Ni56_to_n_Zn59_reaclib); - rate_eval.screened_rates(k_He4_Ni56_to_n_Zn59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni56_to_n_Zn59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_n_Zn59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc45) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_reaclib); - rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 57.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 46.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_Ni57_to_Cu58_reaclib); - rate_eval.screened_rates(k_p_Ni57_to_Cu58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni57_to_Cu58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni57_to_Cu58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni57_to_n_Cu57_reaclib); - rate_eval.screened_rates(k_p_Ni57_to_n_Cu57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni57_to_n_Cu57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni57_to_n_Cu57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc46) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni57_to_He4_Co54_reaclib); - rate_eval.screened_rates(k_p_Ni57_to_He4_Co54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni57_to_He4_Co54_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni57_to_He4_Co54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 57.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 46.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni57_to_Zn61_reaclib); - rate_eval.screened_rates(k_He4_Ni57_to_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni57_to_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc46) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_reaclib); - rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni57_to_p_Cu60_reaclib); - rate_eval.screened_rates(k_He4_Ni57_to_p_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni57_to_p_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_p_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc47) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib); - rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni58_to_n_Cu58_reaclib); - rate_eval.screened_rates(k_p_Ni58_to_n_Cu58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_n_Cu58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_n_Cu58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 48.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_reaclib); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 49.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Sc49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Sc49) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 58.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni58_to_Zn62_reaclib); - rate_eval.screened_rates(k_He4_Ni58_to_Zn62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni58_to_Zn62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_Zn62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti44) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti44) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni58_to_n_Zn61_reaclib); - rate_eval.screened_rates(k_He4_Ni58_to_n_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni58_to_n_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_n_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 45.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti45) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni58_to_p_Cu61_reaclib); - rate_eval.screened_rates(k_He4_Ni58_to_p_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni58_to_p_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_p_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 45.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti45) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti45) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 59.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 46.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti46) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni59_to_Cu60_reaclib); - rate_eval.screened_rates(k_p_Ni59_to_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni59_to_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni59_to_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni59_to_n_Cu59_reaclib); - rate_eval.screened_rates(k_p_Ni59_to_n_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni59_to_n_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni59_to_n_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 46.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti46) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni59_to_He4_Co56_reaclib); - rate_eval.screened_rates(k_p_Ni59_to_He4_Co56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni59_to_He4_Co56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni59_to_He4_Co56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti47) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 59.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 47.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni59_to_Zn63_reaclib); - rate_eval.screened_rates(k_He4_Ni59_to_Zn63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni59_to_Zn63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_Zn63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni59_to_n_Zn62_reaclib); - rate_eval.screened_rates(k_He4_Ni59_to_n_Zn62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni59_to_n_Zn62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_n_Zn62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 48.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni59_to_p_Cu62_reaclib); - rate_eval.screened_rates(k_He4_Ni59_to_p_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni59_to_p_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_p_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 48.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti48) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 60.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 49.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti49) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni60_to_Cu61_reaclib); - rate_eval.screened_rates(k_p_Ni60_to_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni60_to_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni60_to_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni60_to_n_Cu60_reaclib); - rate_eval.screened_rates(k_p_Ni60_to_n_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni60_to_n_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni60_to_n_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 49.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti49) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni60_to_He4_Co57_reaclib); - rate_eval.screened_rates(k_p_Ni60_to_He4_Co57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni60_to_He4_Co57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni60_to_He4_Co57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 50.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti50) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 60.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 50.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni60_to_Zn64_reaclib); - rate_eval.screened_rates(k_He4_Ni60_to_Zn64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni60_to_Zn64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_Zn64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti50) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni60_to_n_Zn63_reaclib); - rate_eval.screened_rates(k_He4_Ni60_to_n_Zn63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni60_to_n_Zn63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_n_Zn63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 22.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ti51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ti51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni60_to_p_Cu63_reaclib); - rate_eval.screened_rates(k_He4_Ni60_to_p_Cu63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni60_to_p_Cu63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_p_Cu63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 46.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V46) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V46) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 61.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni61_to_Cu62_reaclib); - rate_eval.screened_rates(k_p_Ni61_to_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni61_to_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni61_to_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni61_to_n_Cu61_reaclib); - rate_eval.screened_rates(k_p_Ni61_to_n_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni61_to_n_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni61_to_n_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 47.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V47) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V47) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni61_to_He4_Co58_reaclib); - rate_eval.screened_rates(k_p_Ni61_to_He4_Co58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni61_to_He4_Co58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni61_to_He4_Co58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 48.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V48) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 61.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni61_to_Zn65_reaclib); - rate_eval.screened_rates(k_He4_Ni61_to_Zn65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni61_to_Zn65_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_Zn65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V48) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni61_to_n_Zn64_reaclib); - rate_eval.screened_rates(k_He4_Ni61_to_n_Zn64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni61_to_n_Zn64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_n_Zn64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 49.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V49) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni61_to_p_Cu64_reaclib); - rate_eval.screened_rates(k_He4_Ni61_to_p_Cu64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni61_to_p_Cu64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_p_Cu64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 49.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V49) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 62.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 50.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V50) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni62_to_Cu63_reaclib); - rate_eval.screened_rates(k_p_Ni62_to_Cu63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni62_to_Cu63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni62_to_Cu63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni62_to_n_Cu62_reaclib); - rate_eval.screened_rates(k_p_Ni62_to_n_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni62_to_n_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni62_to_n_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 50.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V50) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni62_to_He4_Co59_reaclib); - rate_eval.screened_rates(k_p_Ni62_to_He4_Co59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni62_to_He4_Co59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni62_to_He4_Co59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V51) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 62.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni62_to_Zn66_reaclib); - rate_eval.screened_rates(k_He4_Ni62_to_Zn66_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni62_to_Zn66_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_Zn66_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni62_to_n_Zn65_reaclib); - rate_eval.screened_rates(k_He4_Ni62_to_n_Zn65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni62_to_n_Zn65_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_n_Zn65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_V52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_V52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Ni62_to_p_Cu65_reaclib); - rate_eval.screened_rates(k_He4_Ni62_to_p_Cu65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni62_to_p_Cu65_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_p_Cu65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr48) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 63.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 49.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr49) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni63_to_Cu64_reaclib); - rate_eval.screened_rates(k_p_Ni63_to_Cu64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni63_to_Cu64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni63_to_Cu64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ni63_to_n_Cu63_reaclib); - rate_eval.screened_rates(k_p_Ni63_to_n_Cu63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni63_to_n_Cu63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni63_to_n_Cu63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 49.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr49) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 64.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 50.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_Ni64_to_Cu65_reaclib); - rate_eval.screened_rates(k_p_Ni64_to_Cu65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni64_to_Cu65_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni64_to_Cu65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr50) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ni64_to_n_Cu64_reaclib); - rate_eval.screened_rates(k_p_Ni64_to_n_Cu64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ni64_to_n_Cu64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ni64_to_n_Cu64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 50.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr50) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 58.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu58_to_Zn59_reaclib); - rate_eval.screened_rates(k_p_Cu58_to_Zn59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu58_to_Zn59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu58_to_Zn59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 58.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu58_to_Ga62_reaclib); - rate_eval.screened_rates(k_He4_Cu58_to_Ga62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu58_to_Ga62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu58_to_Ga62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu58_to_p_Zn61_reaclib); - rate_eval.screened_rates(k_He4_Cu58_to_p_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu58_to_p_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu58_to_p_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr52) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 59.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 53.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_Cu59_to_Zn60_reaclib); - rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu59_to_n_Zn59_reaclib); - rate_eval.screened_rates(k_p_Cu59_to_n_Zn59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu59_to_n_Zn59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu59_to_n_Zn59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 53.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib); - rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 24.0_rt, 54.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cr54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cr54) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 59.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cr54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cr54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu59_to_Ga63_reaclib); - rate_eval.screened_rates(k_He4_Cu59_to_Ga63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu59_to_Ga63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_Ga63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 50.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn50) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn50) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu59_to_n_Ga62_reaclib); - rate_eval.screened_rates(k_He4_Cu59_to_n_Ga62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu59_to_n_Ga62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_n_Ga62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn51) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu59_to_p_Zn62_reaclib); - rate_eval.screened_rates(k_He4_Cu59_to_p_Zn62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu59_to_p_Zn62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_p_Zn62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn51) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 60.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 52.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_Cu60_to_Zn61_reaclib); - rate_eval.screened_rates(k_p_Cu60_to_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu60_to_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu60_to_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu60_to_n_Zn60_reaclib); - rate_eval.screened_rates(k_p_Cu60_to_n_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu60_to_n_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu60_to_n_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu60_to_He4_Ni57_reaclib); - rate_eval.screened_rates(k_p_Cu60_to_He4_Ni57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu60_to_He4_Ni57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu60_to_He4_Ni57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 53.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn53) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 60.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 53.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu60_to_Ga64_reaclib); - rate_eval.screened_rates(k_He4_Cu60_to_Ga64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu60_to_Ga64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_Ga64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 54.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu60_to_n_Ga63_reaclib); - rate_eval.screened_rates(k_He4_Cu60_to_n_Ga63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu60_to_n_Ga63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_n_Ga63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 54.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu60_to_p_Zn63_reaclib); - rate_eval.screened_rates(k_He4_Cu60_to_p_Zn63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu60_to_p_Zn63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_p_Zn63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + 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_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Mn55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Mn55) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 55.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mn55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mn55) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 61.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu61_to_Zn62_reaclib); - rate_eval.screened_rates(k_p_Cu61_to_Zn62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu61_to_Zn62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu61_to_Zn62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe52) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu61_to_n_Zn61_reaclib); - rate_eval.screened_rates(k_p_Cu61_to_n_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu61_to_n_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu61_to_n_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 53.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu61_to_He4_Ni58_reaclib); - rate_eval.screened_rates(k_p_Cu61_to_He4_Ni58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu61_to_He4_Ni58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu61_to_He4_Ni58_reaclib) = 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); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe53) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 62.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu62_to_Zn63_reaclib); - rate_eval.screened_rates(k_p_Cu62_to_Zn63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu62_to_Zn63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu62_to_Zn63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe54) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu62_to_n_Zn62_reaclib); - rate_eval.screened_rates(k_p_Cu62_to_n_Zn62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu62_to_n_Zn62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu62_to_n_Zn62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 55.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu62_to_He4_Ni59_reaclib); - rate_eval.screened_rates(k_p_Cu62_to_He4_Ni59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu62_to_He4_Ni59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu62_to_He4_Ni59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 55.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe55) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 63.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu63_to_Zn64_reaclib); - rate_eval.screened_rates(k_p_Cu63_to_Zn64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu63_to_Zn64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu63_to_Zn64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 56.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu63_to_n_Zn63_reaclib); - rate_eval.screened_rates(k_p_Cu63_to_n_Zn63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu63_to_n_Zn63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu63_to_n_Zn63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 57.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu63_to_He4_Ni60_reaclib); - rate_eval.screened_rates(k_p_Cu63_to_He4_Ni60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu63_to_He4_Ni60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu63_to_He4_Ni60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 57.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe57) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 64.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 58.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Fe58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Fe58) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu64_to_Zn65_reaclib); - rate_eval.screened_rates(k_p_Cu64_to_Zn65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu64_to_Zn65_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu64_to_Zn65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Fe58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Fe58) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu64_to_n_Zn64_reaclib); - rate_eval.screened_rates(k_p_Cu64_to_n_Zn64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu64_to_n_Zn64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu64_to_n_Zn64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 53.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co53) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co53) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu64_to_He4_Ni61_reaclib); - rate_eval.screened_rates(k_p_Cu64_to_He4_Ni61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu64_to_He4_Ni61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu64_to_He4_Ni61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 54.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co54) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co54) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 65.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.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_Cu65_to_Zn66_reaclib); - rate_eval.screened_rates(k_p_Cu65_to_Zn66_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu65_to_Zn66_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu65_to_Zn66_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu65_to_n_Zn65_reaclib); - rate_eval.screened_rates(k_p_Cu65_to_n_Zn65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu65_to_n_Zn65_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu65_to_n_Zn65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co55) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co55) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Cu65_to_He4_Ni62_reaclib); - rate_eval.screened_rates(k_p_Cu65_to_He4_Ni62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cu65_to_He4_Ni62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Cu65_to_He4_Ni62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co56) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 30.0_rt, 59.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 56.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co56) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Zn59_to_Ge63_reaclib); - rate_eval.screened_rates(k_He4_Zn59_to_Ge63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn59_to_Ge63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn59_to_Ge63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Zn59_to_p_Ga62_reaclib); - rate_eval.screened_rates(k_He4_Zn59_to_p_Ga62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn59_to_p_Ga62_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn59_to_p_Ga62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 57.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co57) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co58) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 30.0_rt, 60.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 58.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co58) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Zn60_to_Ge64_reaclib); - rate_eval.screened_rates(k_He4_Zn60_to_Ge64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn60_to_Ge64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_Ge64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 59.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Co59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Co59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Zn60_to_n_Ge63_reaclib); - rate_eval.screened_rates(k_He4_Zn60_to_n_Ge63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn60_to_n_Ge63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_n_Ge63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 59.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Co59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Co59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Zn60_to_p_Ga63_reaclib); - rate_eval.screened_rates(k_He4_Zn60_to_p_Ga63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn60_to_p_Ga63_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_p_Ga63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 56.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni56) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 56.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni56) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni56) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 61.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 57.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn61_to_Ga62_reaclib); - rate_eval.screened_rates(k_p_Zn61_to_Ga62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn61_to_Ga62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn61_to_Ga62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 57.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni57) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn61_to_He4_Cu58_reaclib); - rate_eval.screened_rates(k_p_Zn61_to_He4_Cu58_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn61_to_He4_Cu58_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn61_to_He4_Cu58_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni58) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni58) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 62.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 59.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn62_to_Ga63_reaclib); - rate_eval.screened_rates(k_p_Zn62_to_Ga63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn62_to_Ga63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn62_to_Ga63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 59.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn62_to_n_Ga62_reaclib); - rate_eval.screened_rates(k_p_Zn62_to_n_Ga62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn62_to_n_Ga62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn62_to_n_Ga62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 60.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni60) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn62_to_He4_Cu59_reaclib); - rate_eval.screened_rates(k_p_Zn62_to_He4_Cu59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn62_to_He4_Cu59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn62_to_He4_Cu59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 60.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni60) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 63.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 61.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni61) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn63_to_Ga64_reaclib); - rate_eval.screened_rates(k_p_Zn63_to_Ga64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn63_to_Ga64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn63_to_Ga64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 61.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni61) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn63_to_n_Ga63_reaclib); - rate_eval.screened_rates(k_p_Zn63_to_n_Ga63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn63_to_n_Ga63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn63_to_n_Ga63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 62.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni62) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn63_to_He4_Cu60_reaclib); - rate_eval.screened_rates(k_p_Zn63_to_He4_Cu60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn63_to_He4_Cu60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn63_to_He4_Cu60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 62.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni62) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 31.0_rt, 62.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 63.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni63) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ga62_to_Ge63_reaclib); - rate_eval.screened_rates(k_p_Ga62_to_Ge63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga62_to_Ge63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga62_to_Ge63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 64.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ni64) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ni64) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ga62_to_He4_Zn59_reaclib); - rate_eval.screened_rates(k_p_Ga62_to_He4_Zn59_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga62_to_He4_Zn59_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga62_to_He4_Zn59_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu58) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 58.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu58) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu58) = dlog_scor_dT; + } + } { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 31.0_rt, 63.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 59.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ga63_to_Ge64_reaclib); - rate_eval.screened_rates(k_p_Ga63_to_Ge64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga63_to_Ge64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga63_to_Ge64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 59.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ga63_to_n_Ge63_reaclib); - rate_eval.screened_rates(k_p_Ga63_to_n_Ge63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga63_to_n_Ge63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga63_to_n_Ge63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 60.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu60) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Ga63_to_He4_Zn60_reaclib); - rate_eval.screened_rates(k_p_Ga63_to_He4_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga63_to_He4_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga63_to_He4_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 60.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu60) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 3.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 61.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu61) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 62.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu62) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 4.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 63.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu63) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_He4_to_d_He3_reaclib); - rate_eval.screened_rates(k_p_He4_to_d_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He4_to_d_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_He4_to_d_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 64.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu64) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu64) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_n_p_He4_to_Li6_reaclib); - rate_eval.screened_rates(k_n_p_He4_to_Li6_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_p_He4_to_Li6_reaclib); - rate_eval.dscreened_rates_dT(k_n_p_He4_to_Li6_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 29.0_rt, 65.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Cu65) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Cu65) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 30.0_rt, 59.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_to_n_Be7_reaclib); - rate_eval.screened_rates(k_He4_He4_to_n_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_to_n_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_to_n_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Zn59) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Zn59) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_He4_to_p_Li7_reaclib); - rate_eval.screened_rates(k_He4_He4_to_p_Li7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_to_p_Li7_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_to_p_Li7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 30.0_rt, 60.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Zn60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Zn60) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_n_He4_He4_to_Be9_reaclib); - rate_eval.screened_rates(k_n_He4_He4_to_Be9_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_He4_He4_to_Be9_reaclib); - rate_eval.dscreened_rates_dT(k_n_He4_He4_to_Be9_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 61.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn61) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_n_He4_He4_to_d_Li7_reaclib); - rate_eval.screened_rates(k_n_He4_He4_to_d_Li7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_He4_He4_to_d_Li7_reaclib); - rate_eval.dscreened_rates_dT(k_n_He4_He4_to_d_Li7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 62.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn62) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 3.0_rt, 6.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 63.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn63) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_Li6_to_n_Be7_reaclib); - rate_eval.screened_rates(k_d_Li6_to_n_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Li6_to_n_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_d_Li6_to_n_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 31.0_rt, 62.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ga62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ga62) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_Li6_to_p_Li7_reaclib); - rate_eval.screened_rates(k_d_Li6_to_p_Li7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Li6_to_p_Li7_reaclib); - rate_eval.dscreened_rates_dT(k_d_Li6_to_p_Li7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 31.0_rt, 63.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ga63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ga63) = dlog_scor_dT; + } } - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 3.0_rt, 7.0_rt); + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_He3) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li7_to_n_Be7_reaclib); - rate_eval.screened_rates(k_p_Li7_to_n_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li7_to_n_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li7_to_n_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 4.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_He4) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li7_to_d_Li6_reaclib); - rate_eval.screened_rates(k_p_Li7_to_d_Li6_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li7_to_d_Li6_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li7_to_d_Li6_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib); - rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 3.0_rt, 6.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_Li6) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_Li6) = dlog_scor_dT; + } } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 3.0_rt, 7.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Li7) = dlog_scor_dT; + } + } { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be7) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Be7_to_p_B10_reaclib); - rate_eval.screened_rates(k_He4_Be7_to_p_B10_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Be7_to_p_B10_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Be7_to_p_B10_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 9.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be9) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be9) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Be9_to_n_C12_reaclib); - rate_eval.screened_rates(k_He4_Be9_to_n_C12_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Be9_to_n_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Be9_to_n_C12_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 5.0_rt, 10.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_B10) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_B10) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_B10_to_He4_Be7_reaclib); - rate_eval.screened_rates(k_p_B10_to_He4_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_B10_to_He4_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_p_B10_to_He4_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 5.0_rt, 10.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_B10_to_n_N13_reaclib); - rate_eval.screened_rates(k_He4_B10_to_n_N13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_B10_to_n_N13_reaclib); - rate_eval.dscreened_rates_dT(k_He4_B10_to_n_N13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_B10_to_p_C13_reaclib); - rate_eval.screened_rates(k_He4_B10_to_p_C13_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_B10_to_p_C13_reaclib); - rate_eval.dscreened_rates_dT(k_He4_B10_to_p_C13_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_B10) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_B10) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 5.0_rt, 11.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_B11_to_n_N14_reaclib); - rate_eval.screened_rates(k_He4_B11_to_n_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_B11_to_n_N14_reaclib); - rate_eval.dscreened_rates_dT(k_He4_B11_to_n_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_B11_to_p_C14_reaclib); - rate_eval.screened_rates(k_He4_B11_to_p_C14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_B11_to_p_C14_reaclib); - rate_eval.dscreened_rates_dT(k_He4_B11_to_p_C14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_B11) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_B11) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_C12) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_C12) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib); - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 6.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_C13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_C13_to_n_N14_reaclib); - rate_eval.screened_rates(k_d_C13_to_n_N14_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_C13_to_n_N14_reaclib); - rate_eval.dscreened_rates_dT(k_d_C13_to_n_N14_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_C13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_C13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_C13_to_n_O16_reaclib); - rate_eval.screened_rates(k_He4_C13_to_n_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C13_to_n_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_C13_to_n_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 6.0_rt, 14.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_C14) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_C14) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_d_C14_to_n_N15_reaclib); - rate_eval.screened_rates(k_d_C14_to_n_N15_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_C14_to_n_N15_reaclib); - rate_eval.dscreened_rates_dT(k_d_C14_to_n_N15_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_N13) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_N13) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib); - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib); - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); static_assert(scn_fac.z1 == 8.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_O16_O16) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_O16_O16) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 18.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib); - rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ne18) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ne18) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 10.0_rt, 20.0_rt); static_assert(scn_fac.z1 == 6.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_C12_Ne20_to_p_P31_reaclib); - rate_eval.screened_rates(k_C12_Ne20_to_p_P31_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_Ne20_to_p_P31_reaclib); - rate_eval.dscreened_rates_dT(k_C12_Ne20_to_p_P31_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_C12_Ne20_to_He4_Si28_reaclib); - rate_eval.screened_rates(k_C12_Ne20_to_He4_Si28_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_Ne20_to_He4_Si28_reaclib); - rate_eval.dscreened_rates_dT(k_C12_Ne20_to_He4_Si28_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_C12_Ne20) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_C12_Ne20) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 21.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_Na21_to_He4_Ne18_reaclib); - rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_reaclib); - rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Na21) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Na21) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 23.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Mg23_to_p_Al26_reaclib); - rate_eval.screened_rates(k_He4_Mg23_to_p_Al26_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg23_to_p_Al26_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Mg23_to_p_Al26_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Mg23) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Mg23) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 26.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_Al26_to_He4_Mg23_reaclib); - rate_eval.screened_rates(k_p_Al26_to_He4_Mg23_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al26_to_He4_Mg23_reaclib); - rate_eval.dscreened_rates_dT(k_p_Al26_to_He4_Mg23_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Al26) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Al26) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 37.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_K37_to_p_Ca40_reaclib); - rate_eval.screened_rates(k_He4_K37_to_p_Ca40_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K37_to_p_Ca40_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K37_to_p_Ca40_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_K37) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_K37) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 19.0_rt, 38.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_K38_to_p_Ca41_reaclib); - rate_eval.screened_rates(k_He4_K38_to_p_Ca41_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_K38_to_p_Ca41_reaclib); - rate_eval.dscreened_rates_dT(k_He4_K38_to_p_Ca41_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_K38) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_K38) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 40.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_Ca40_to_He4_K37_reaclib); - rate_eval.screened_rates(k_p_Ca40_to_He4_K37_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca40_to_He4_K37_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca40_to_He4_K37_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca40) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca40) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 20.0_rt, 41.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_Ca41_to_He4_K38_reaclib); - rate_eval.screened_rates(k_p_Ca41_to_He4_K38_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ca41_to_He4_K38_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ca41_to_He4_K38_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ca41) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ca41) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 48.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ca48_to_n_Ti51_reaclib); - rate_eval.screened_rates(k_He4_Ca48_to_n_Ti51_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca48_to_n_Ti51_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ca48_to_n_Ti51_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ca48) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ca48) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 21.0_rt, 49.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Sc49_to_n_V52_reaclib); - rate_eval.screened_rates(k_He4_Sc49_to_n_V52_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Sc49_to_n_V52_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Sc49_to_n_V52_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Sc49) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Sc49) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 51.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ti51_to_n_Cr54_reaclib); - rate_eval.screened_rates(k_He4_Ti51_to_n_Cr54_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti51_to_n_Cr54_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ti51_to_n_Cr54_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ti51) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ti51) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 23.0_rt, 52.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_V52_to_n_Mn55_reaclib); - rate_eval.screened_rates(k_He4_V52_to_n_Mn55_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_V52_to_n_Mn55_reaclib); - rate_eval.dscreened_rates_dT(k_He4_V52_to_n_Mn55_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_V52) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_V52) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 28.0_rt, 63.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Ni63_to_n_Zn66_reaclib); - rate_eval.screened_rates(k_He4_Ni63_to_n_Zn66_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ni63_to_n_Zn66_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Ni63_to_n_Zn66_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Ni63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Ni63) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 57.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cu57_to_p_Zn60_reaclib); - rate_eval.screened_rates(k_He4_Cu57_to_p_Zn60_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu57_to_p_Zn60_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu57_to_p_Zn60_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu57) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu57) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 61.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Cu61_to_n_Ga64_reaclib); - rate_eval.screened_rates(k_He4_Cu61_to_n_Ga64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu61_to_n_Ga64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu61_to_n_Ga64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu61) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu61_to_p_Zn64_reaclib); - rate_eval.screened_rates(k_He4_Cu61_to_p_Zn64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu61_to_p_Zn64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu61_to_p_Zn64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 62.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu62) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu62) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu62_to_p_Zn65_reaclib); - rate_eval.screened_rates(k_He4_Cu62_to_p_Zn65_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu62_to_p_Zn65_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu62_to_p_Zn65_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 29.0_rt, 63.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Cu63) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Cu63) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_He4_Cu63_to_p_Zn66_reaclib); - rate_eval.screened_rates(k_He4_Cu63_to_p_Zn66_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cu63_to_p_Zn66_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Cu63_to_p_Zn66_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 60.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn60) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn60) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_Zn60_to_He4_Cu57_reaclib); - rate_eval.screened_rates(k_p_Zn60_to_He4_Cu57_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn60_to_He4_Cu57_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn60_to_He4_Cu57_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 30.0_rt, 61.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_Zn61_to_n_Ge64_reaclib); - rate_eval.screened_rates(k_He4_Zn61_to_n_Ge64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn61_to_n_Ge64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn61_to_n_Ge64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_He4_Zn61_to_p_Ga64_reaclib); - rate_eval.screened_rates(k_He4_Zn61_to_p_Ga64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Zn61_to_p_Ga64_reaclib); - rate_eval.dscreened_rates_dT(k_He4_Zn61_to_p_Ga64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Zn61) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Zn61) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 64.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_Zn64_to_n_Ga64_reaclib); - rate_eval.screened_rates(k_p_Zn64_to_n_Ga64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn64_to_n_Ga64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn64_to_n_Ga64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Zn64_to_He4_Cu61_reaclib); - rate_eval.screened_rates(k_p_Zn64_to_He4_Cu61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn64_to_He4_Cu61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn64_to_He4_Cu61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn64) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn64) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 65.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_Zn65_to_He4_Cu62_reaclib); - rate_eval.screened_rates(k_p_Zn65_to_He4_Cu62_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn65_to_He4_Cu62_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn65_to_He4_Cu62_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn65) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn65) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 30.0_rt, 66.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_Zn66_to_He4_Cu63_reaclib); - rate_eval.screened_rates(k_p_Zn66_to_He4_Cu63_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Zn66_to_He4_Cu63_reaclib); - rate_eval.dscreened_rates_dT(k_p_Zn66_to_He4_Cu63_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Zn66) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Zn66) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 31.0_rt, 64.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_Ga64_to_n_Ge64_reaclib); - rate_eval.screened_rates(k_p_Ga64_to_n_Ge64_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga64_to_n_Ge64_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga64_to_n_Ge64_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - - ratraw = rate_eval.screened_rates(k_p_Ga64_to_He4_Zn61_reaclib); - rate_eval.screened_rates(k_p_Ga64_to_He4_Zn61_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ga64_to_He4_Zn61_reaclib); - rate_eval.dscreened_rates_dT(k_p_Ga64_to_He4_Zn61_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_Ga64) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_Ga64) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 2.0_rt, 3.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_He3) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_He3) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 3.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_d_Li7_to_n_He4_He4_reaclib); - rate_eval.screened_rates(k_d_Li7_to_n_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Li7_to_n_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_Li7_to_n_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_Li7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 3.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He3_Li7_to_n_p_He4_He4_reaclib); - rate_eval.screened_rates(k_He3_Li7_to_n_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_Li7_to_n_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_Li7_to_n_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_Li7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_Li7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 3.0_rt, 4.0_rt, 7.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } - - ratraw = rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib); - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He3_Be7) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He3_Be7) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 2.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_He4) = dlog_scor_dT; + } } - { - constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); - static_assert(scn_fac2.z1 == 2.0_rt); - actual_screen(pstate, scn_fac2, scor2, dscor2_dt); - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; - } - - ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_p_B11_reaclib); - rate_eval.screened_rates(k_He4_He4_He4_to_p_B11_reaclib) *= scor * scor2; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_p_B11_reaclib); - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_p_B11_reaclib) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + static_assert(scn_fac.z1 == 2.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_He4_Be8) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_He4_Be8) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 1.0_rt, 1.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_p_He4_to_He3_He3_reaclib); - rate_eval.screened_rates(k_p_p_He4_to_He3_He3_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_p_He4_to_He3_He3_reaclib); - rate_eval.dscreened_rates_dT(k_p_p_He4_to_He3_He3_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_p) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_p) = dlog_scor_dT; + } } - { constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 2.0_rt, 4.0_rt); static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_p_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_p_He4) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_He4_He4_to_n_B8_reaclib); - rate_eval.screened_rates(k_p_He4_He4_to_n_B8_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He4_He4_to_n_B8_reaclib); - rate_eval.dscreened_rates_dT(k_p_He4_He4_to_n_B8_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 4.0_rt); + static_assert(scn_fac.z1 == 1.0_rt); + actual_log_screen(pstate, scn_fac, log_scor, dlog_scor_dT); + rate_eval.log_screen(k_d_He4) = log_scor; + if constexpr (do_T_derivatives) { + rate_eval.dlog_screen_dT(k_d_He4) = dlog_scor_dT; + } } - ratraw = rate_eval.screened_rates(k_p_He4_He4_to_d_Be7_reaclib); - rate_eval.screened_rates(k_p_He4_He4_to_d_Be7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_p_He4_He4_to_d_Be7_reaclib); - rate_eval.dscreened_rates_dT(k_p_He4_He4_to_d_Be7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +} +#endif - ratraw = rate_eval.screened_rates(k_n_p_He4_He4_to_He3_Li7_reaclib); - rate_eval.screened_rates(k_n_p_He4_He4_to_He3_Li7_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_He3_Li7_reaclib); - rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_He3_Li7_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } - ratraw = rate_eval.screened_rates(k_n_p_He4_He4_to_p_Be9_reaclib); - rate_eval.screened_rates(k_n_p_He4_He4_to_p_Be9_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_p_Be9_reaclib); - rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_p_Be9_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, + const amrex::Array1D& Y, + T& rate_eval) { + // here Y is consistent with state.xn - { - constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 2.0_rt, 2.0_rt, 4.0_rt); - static_assert(scn_fac.z1 == 1.0_rt); - actual_screen(pstate, scn_fac, scor, dscor_dt); - } + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; - ratraw = rate_eval.screened_rates(k_d_He4_He4_to_p_Be9_reaclib); - rate_eval.screened_rates(k_d_He4_He4_to_p_Be9_reaclib) *= scor; - if constexpr (std::is_same_v) { - dratraw_dT = rate_eval.dscreened_rates_dT(k_d_He4_He4_to_p_Be9_reaclib); - rate_eval.dscreened_rates_dT(k_d_He4_He4_to_p_Be9_reaclib) = ratraw * dscor_dt + dratraw_dT * scor; - } + const tf_t tfactors = evaluate_tfactors(state.T); + // Precompute screening terms + +#ifdef SCREENING + evaluate_screening(state, Y, rate_eval); #endif + // Fill in different rates + + fill_reaclib_rates(tfactors, rate_eval); + + temp_tabular::fill_rates(tfactors, rate_eval); + + // Calculate Derived Rates. This should go last but before approx rates. + + fill_derived_rates(tfactors, rate_eval); + + // Fill approximate rates fill_approx_rates(tfactors, state.rho, Y, rate_eval); diff --git a/networks/sn160/pynucastro-info.txt b/networks/sn160/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/sn160/pynucastro-info.txt +++ b/networks/sn160/pynucastro-info.txt @@ -1 +1 @@ -pynucastro version: 2.9.0-28-gbcc09d414 +pynucastro version: 2.9.0-50-g9a0bf9dea diff --git a/networks/sn160/reaclib_rates.H b/networks/sn160/reaclib_rates.H index 9de3e5cbc..b2a20707a 100644 --- a/networks/sn160/reaclib_rates.H +++ b/networks/sn160/reaclib_rates.H @@ -12,19 +12,26 @@ using namespace Species; struct rate_t { amrex::Array1D screened_rates; +#ifdef SCREENING + amrex::Array1D log_screen; +#endif amrex::Real enuc_weak; }; struct rate_derivs_t { amrex::Array1D screened_rates; amrex::Array1D dscreened_rates_dT; +#ifdef SCREENING + amrex::Array1D log_screen; + amrex::Array1D dlog_screen_dT; +#endif amrex::Real enuc_weak; }; template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 --> Li7 @@ -39,9 +46,13 @@ void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -23.8328 + 3.02033 * tfactors.T913 + -0.0742132 * tfactors.T9 + -0.00792386 * tfactors.T953 + -0.650113 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 3.02033 * tfactors.T923i + -0.0742132 + (5.0/3.0) * -0.00792386 * tfactors.T923 + -0.650113 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -56,7 +67,7 @@ void rate_Be7_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 --> N14 @@ -71,8 +82,12 @@ void rate_C14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -26.2827; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -87,7 +102,7 @@ void rate_C14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> C13 @@ -102,8 +117,12 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -6.7601; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -118,7 +137,7 @@ void rate_N13_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> N14 @@ -133,8 +152,12 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.62354; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -149,7 +172,7 @@ void rate_O14_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> N15 @@ -164,8 +187,12 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -5.17053; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -180,7 +207,7 @@ void rate_O15_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F17_to_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 --> O17 @@ -195,8 +222,12 @@ void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -4.53318; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -211,7 +242,7 @@ void rate_F17_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F18_to_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 --> O18 @@ -226,8 +257,12 @@ void rate_F18_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = -9.15982; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -242,7 +277,7 @@ void rate_F18_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne18_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 --> F18 @@ -257,8 +292,12 @@ void rate_Ne18_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = -0.879336; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -273,7 +312,7 @@ void rate_Ne18_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne19_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 --> F19 @@ -288,8 +327,12 @@ void rate_Ne19_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = -3.21142; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -304,7 +347,7 @@ void rate_Ne19_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn59_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn59_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 --> Cu59 @@ -319,8 +362,12 @@ void rate_Zn59_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 1.33624; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -335,7 +382,7 @@ void rate_Zn59_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge63_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge63_to_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 --> Ga63 @@ -350,8 +397,12 @@ void rate_Ge63_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 1.53061; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -366,7 +417,7 @@ void rate_Ge63_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_to_n_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_to_n_p_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d --> n + p @@ -381,9 +432,13 @@ void rate_d_to_n_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 34.6293 + -25.815 * tfactors.T9i + -2.70618 * tfactors.T913 + 0.11718 * tfactors.T9 + -0.00312788 * tfactors.T953 + 1.96913 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.815 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.70618 * tfactors.T923i + 0.11718 + (5.0/3.0) * -0.00312788 * tfactors.T923 + 1.96913 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -398,9 +453,13 @@ void rate_d_to_n_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 31.1075 + -25.815 * tfactors.T9i + -0.0102082 * tfactors.T913 + -0.0893959 * tfactors.T9 + 0.00696704 * tfactors.T953 + 2.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.815 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0102082 * tfactors.T923i + -0.0893959 + (5.0/3.0) * 0.00696704 * tfactors.T923 + 2.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -415,9 +474,13 @@ void rate_d_to_n_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 33.0154 + -25.815 * tfactors.T9i + -2.30472 * tfactors.T913 + -0.887862 * tfactors.T9 + 0.137663 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.815 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.30472 * tfactors.T923i + -0.887862 + (5.0/3.0) * 0.137663 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -432,7 +495,7 @@ void rate_d_to_n_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_to_p_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 --> p + d @@ -447,9 +510,13 @@ void rate_He3_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 32.4383 + -63.7435 * tfactors.T9i + -3.7208 * tfactors.T913i + 0.198654 * tfactors.T913 + 1.83333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 63.7435 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.198654 * tfactors.T923i + 1.83333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -464,9 +531,13 @@ void rate_He3_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 31.032 + -63.7435 * tfactors.T9i + -3.7208 * tfactors.T913i + 0.871782 * tfactors.T913 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 63.7435 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.871782 * tfactors.T923i + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -481,7 +552,7 @@ void rate_He3_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_to_n_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He4 --> n + He3 @@ -496,9 +567,13 @@ void rate_He4_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 33.0131 + -238.79 * tfactors.T9i + -1.50147 * tfactors.T913 + 2.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 238.79 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.50147 * tfactors.T923i + 2.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -513,9 +588,13 @@ void rate_He4_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 29.4845 + -238.79 * tfactors.T9i + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 238.79 * tfactors.T9i * tfactors.T9i + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -530,7 +609,7 @@ void rate_He4_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_to_d_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He4 --> d + d @@ -545,9 +624,13 @@ void rate_He4_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 28.2984 + -276.744 * tfactors.T9i + -4.26166 * tfactors.T913i + -0.119233 * tfactors.T913 + 0.778829 * tfactors.T9 + -0.0925203 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 276.744 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -4.26166 * tfactors.T943i + (1.0/3.0) * -0.119233 * tfactors.T923i + 0.778829 + (5.0/3.0) * -0.0925203 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -562,7 +645,7 @@ void rate_He4_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Li6_to_He4_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Li6_to_He4_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 --> He4 + d @@ -576,8 +659,12 @@ void rate_Li6_to_He4_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // tu19r ln_set_rate = 27.5672 + -24.9919 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.9919 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -592,9 +679,13 @@ void rate_Li6_to_He4_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 22.7676 + -17.1028 * tfactors.T9i + -7.55198 * tfactors.T913i + 5.77546 * tfactors.T913 + -0.487854 * tfactors.T9 + 0.032833 * tfactors.T953 + 0.376948 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.1028 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.55198 * tfactors.T943i + (1.0/3.0) * 5.77546 * tfactors.T923i + -0.487854 + (5.0/3.0) * 0.032833 * tfactors.T923 + 0.376948 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -609,7 +700,7 @@ void rate_Li6_to_He4_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Li7_to_n_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Li7_to_n_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 --> n + Li6 @@ -624,9 +715,13 @@ void rate_Li7_to_n_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 32.2347 + -84.1369 * tfactors.T9i + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.1369 * tfactors.T9i * tfactors.T9i + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -641,7 +736,7 @@ void rate_Li7_to_n_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Be7_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Be7_to_p_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 --> p + Li6 @@ -656,9 +751,13 @@ void rate_Be7_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.4661 + -65.0548 * tfactors.T9i + -8.4372 * tfactors.T913i + -0.515473 * tfactors.T913 + 0.0285578 * tfactors.T9 + 0.00879731 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.0548 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.4372 * tfactors.T943i + (1.0/3.0) * -0.515473 * tfactors.T923i + 0.0285578 + (5.0/3.0) * 0.00879731 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -673,7 +772,7 @@ void rate_Be7_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Be7_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Be7_to_He4_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 --> He4 + He3 @@ -688,9 +787,13 @@ void rate_Be7_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.7379 + -18.4059 * tfactors.T9i + -12.8271 * tfactors.T913i + -0.0308225 * tfactors.T913 + -0.654685 * tfactors.T9 + 0.0896331 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.4059 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -0.0308225 * tfactors.T923i + -0.654685 + (5.0/3.0) * 0.0896331 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -705,9 +808,13 @@ void rate_Be7_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.8355 + -18.4059 * tfactors.T9i + -12.8271 * tfactors.T913i + -3.8126 * tfactors.T913 + 0.0942285 * tfactors.T9 + -0.00301018 * tfactors.T953 + 2.83333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.4059 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -3.8126 * tfactors.T923i + 0.0942285 + (5.0/3.0) * -0.00301018 * tfactors.T923 + 2.83333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -722,7 +829,7 @@ void rate_Be7_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 --> p + Be7 @@ -736,8 +843,12 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re // nacrr ln_set_rate = 31.0163 + -8.93482 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.93482 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -752,9 +863,13 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 35.8138 + -1.58982 * tfactors.T9i + -10.264 * tfactors.T913i + -0.203472 * tfactors.T913 + 0.121083 * tfactors.T9 + -0.00700063 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.58982 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.264 * tfactors.T943i + (1.0/3.0) * -0.203472 * tfactors.T923i + 0.121083 + (5.0/3.0) * -0.00700063 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -769,7 +884,7 @@ void rate_B8_to_p_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 --> He4 + He4 @@ -784,8 +899,12 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -0.105148; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -800,7 +919,7 @@ void rate_B8_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 --> p + Be9 @@ -814,8 +933,12 @@ void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // nacrr ln_set_rate = 37.9538 + -87.9663 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.9663 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -829,8 +952,12 @@ void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // nacrr ln_set_rate = 30.6751 + -79.0223 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.0223 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -845,9 +972,13 @@ void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 39.2789 + -76.4272 * tfactors.T9i + -10.361 * tfactors.T913i + 0.695179 * tfactors.T913 + 0.342365 * tfactors.T9 + -0.356569 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.4272 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.361 * tfactors.T943i + (1.0/3.0) * 0.695179 * tfactors.T923i + 0.342365 + (5.0/3.0) * -0.356569 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -862,7 +993,7 @@ void rate_B10_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B10_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B10_to_He4_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 --> He4 + Li6 @@ -877,9 +1008,13 @@ void rate_B10_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.6952 + -51.7561 * tfactors.T9i + -18.79 * tfactors.T913i + 0.234225 * tfactors.T913 + 3.23344 * tfactors.T9 + -1.14529 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.7561 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.79 * tfactors.T943i + (1.0/3.0) * 0.234225 * tfactors.T923i + 3.23344 + (5.0/3.0) * -1.14529 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -894,9 +1029,13 @@ void rate_B10_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 24.5212 + -55.4692 * tfactors.T9i + 3.33334 * tfactors.T913i + 3.25335 * tfactors.T913 + 0.374434 * tfactors.T9 + -0.0706244 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.4692 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.33334 * tfactors.T943i + (1.0/3.0) * 3.25335 * tfactors.T923i + 0.374434 + (5.0/3.0) * -0.0706244 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -911,7 +1050,7 @@ void rate_B10_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B11_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B11_to_n_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 --> n + B10 @@ -926,9 +1065,13 @@ void rate_B11_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 35.2227 + -132.928 * tfactors.T9i + 2.65756e-10 * tfactors.T913i + -9.63588e-10 * tfactors.T913 + 1.07466e-10 * tfactors.T9 + -9.87569e-12 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 132.928 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.65756e-10 * tfactors.T943i + (1.0/3.0) * -9.63588e-10 * tfactors.T923i + 1.07466e-10 + (5.0/3.0) * -9.87569e-12 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -943,7 +1086,7 @@ void rate_B11_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 --> He4 + Li7 @@ -958,9 +1101,13 @@ void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.8425 + -100.541 * tfactors.T9i + -19.163 * tfactors.T913i + 0.0587651 * tfactors.T913 + 0.773338 * tfactors.T9 + -0.201519 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.541 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.163 * tfactors.T943i + (1.0/3.0) * 0.0587651 * tfactors.T923i + 0.773338 + (5.0/3.0) * -0.201519 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -975,9 +1122,13 @@ void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.1078 + -106.983 * tfactors.T9i + 0.190698 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.983 * tfactors.T9i * tfactors.T9i + 0.190698; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -991,8 +1142,12 @@ void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // nacrr ln_set_rate = 30.2249 + -103.501 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.501 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1007,7 +1162,7 @@ void rate_B11_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 --> p + B11 @@ -1022,9 +1177,13 @@ void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.578 + -185.173 * tfactors.T9i + -12.095 * tfactors.T913i + -1.95046 * tfactors.T913 + 9.56928 * tfactors.T9 + -10.0637 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 185.173 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -1.95046 * tfactors.T923i + 9.56928 + (5.0/3.0) * -10.0637 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1038,8 +1197,12 @@ void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // nw00r ln_set_rate = 33.6351 + -186.885 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 186.885 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1054,9 +1217,13 @@ void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 50.5262 + -185.173 * tfactors.T9i + -12.095 * tfactors.T913i + -6.68421 * tfactors.T913 + -0.0148736 * tfactors.T9 + 0.0364288 * tfactors.T953 + 2.83333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 185.173 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -6.68421 * tfactors.T923i + -0.0148736 + (5.0/3.0) * 0.0364288 * tfactors.T923 + 2.83333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1071,7 +1238,7 @@ void rate_C12_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C13_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C13_to_n_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 --> n + C12 @@ -1086,9 +1253,13 @@ void rate_C13_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.8808 + -57.4077 * tfactors.T9i + 1.49573 * tfactors.T913i + -0.841102 * tfactors.T913 + 0.0340543 * tfactors.T9 + -0.0026392 * tfactors.T953 + 3.1662 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 57.4077 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.49573 * tfactors.T943i + (1.0/3.0) * -0.841102 * tfactors.T923i + 0.0340543 + (5.0/3.0) * -0.0026392 * tfactors.T923 + 3.1662 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1103,7 +1274,7 @@ void rate_C13_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C14_to_n_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C14_to_n_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 --> n + C13 @@ -1118,9 +1289,13 @@ void rate_C14_to_n_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 59.5926 + -95.0156 * tfactors.T9i + 18.3578 * tfactors.T913i + -46.5786 * tfactors.T913 + 2.58472 * tfactors.T9 + -0.118622 * tfactors.T953 + 21.4142 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.0156 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.3578 * tfactors.T943i + (1.0/3.0) * -46.5786 * tfactors.T923i + 2.58472 + (5.0/3.0) * -0.118622 * tfactors.T923 + 21.4142 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1135,7 +1310,7 @@ void rate_C14_to_n_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N13_to_p_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N13_to_p_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 --> p + C12 @@ -1150,9 +1325,13 @@ void rate_N13_to_p_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.4354 + -26.326 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.326 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1167,9 +1346,13 @@ void rate_N13_to_p_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.0408 + -22.5475 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.5475 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1184,7 +1367,7 @@ void rate_N13_to_p_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N14_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N14_to_n_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 --> n + N13 @@ -1199,9 +1382,13 @@ void rate_N14_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.5584 + -125.474 * tfactors.T9i + 9.44873e-10 * tfactors.T913i + -2.33713e-09 * tfactors.T913 + 1.97507e-10 * tfactors.T9 + -1.49747e-11 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 125.474 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.44873e-10 * tfactors.T943i + (1.0/3.0) * -2.33713e-09 * tfactors.T923i + 1.97507e-10 + (5.0/3.0) * -1.49747e-11 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1216,9 +1403,13 @@ void rate_N14_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.1268 + -122.484 * tfactors.T9i + 1.72241e-10 * tfactors.T913i + -5.62522e-10 * tfactors.T913 + 5.59212e-11 * tfactors.T9 + -4.6549e-12 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 122.484 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.72241e-10 * tfactors.T943i + (1.0/3.0) * -5.62522e-10 * tfactors.T923i + 5.59212e-11 + (5.0/3.0) * -4.6549e-12 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1233,7 +1424,7 @@ void rate_N14_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 --> p + C13 @@ -1248,9 +1439,13 @@ void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.1528 + -93.4071 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.4071 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1264,8 +1459,12 @@ void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // nacrr ln_set_rate = 38.3716 + -101.18 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.18 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1280,9 +1479,13 @@ void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.7046 + -87.6256 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.6256 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1297,7 +1500,7 @@ void rate_N14_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N15_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N15_to_n_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 --> n + N14 @@ -1312,9 +1515,13 @@ void rate_N15_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 34.1728 + -125.726 * tfactors.T9i + 1.396 * tfactors.T913i + -3.47552 * tfactors.T913 + 0.351773 * tfactors.T9 + -0.0229344 * tfactors.T953 + 2.52161 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 125.726 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.396 * tfactors.T943i + (1.0/3.0) * -3.47552 * tfactors.T923i + 0.351773 + (5.0/3.0) * -0.0229344 * tfactors.T923 + 2.52161 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1329,7 +1536,7 @@ void rate_N15_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_N15_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_N15_to_p_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 --> p + C14 @@ -1344,9 +1551,13 @@ void rate_N15_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.0115 + -119.975 * tfactors.T9i + -10.658 * tfactors.T913i + 1.73644 * tfactors.T913 + -0.350498 * tfactors.T9 + 0.0279902 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 119.975 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.658 * tfactors.T943i + (1.0/3.0) * 1.73644 * tfactors.T923i + -0.350498 + (5.0/3.0) * 0.0279902 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1361,9 +1572,13 @@ void rate_N15_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.0281 + -118.452 * tfactors.T9i + -13.9619 * tfactors.T913i + -4.34315 * tfactors.T913 + 6.64922 * tfactors.T9 + -3.22592 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.452 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.9619 * tfactors.T943i + (1.0/3.0) * -4.34315 * tfactors.T923i + 6.64922 + (5.0/3.0) * -3.22592 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1378,7 +1593,7 @@ void rate_N15_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O14_to_p_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O14_to_p_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 --> p + N13 @@ -1392,8 +1607,12 @@ void rate_O14_to_p_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // lg06r ln_set_rate = 35.2849 + -59.8313 * tfactors.T9i + 1.57122 * tfactors.T913i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.8313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1408,9 +1627,13 @@ void rate_O14_to_p_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.4234 + -53.7053 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.7053 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1425,7 +1648,7 @@ void rate_O14_to_p_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_n_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> n + O14 @@ -1440,9 +1663,13 @@ void rate_O15_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 32.7811 + -153.419 * tfactors.T9i + -1.38986 * tfactors.T913i + 1.74662 * tfactors.T913 + -0.0276897 * tfactors.T9 + 0.00321014 * tfactors.T953 + 0.438778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 153.419 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.38986 * tfactors.T943i + (1.0/3.0) * 1.74662 * tfactors.T923i + -0.0276897 + (5.0/3.0) * 0.00321014 * tfactors.T923 + 0.438778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1457,7 +1684,7 @@ void rate_O15_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 --> p + N14 @@ -1472,9 +1699,13 @@ void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.7435 + -89.5667 * tfactors.T9i + 1.5682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.5667 * tfactors.T9i * tfactors.T9i + 1.5682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1488,8 +1719,12 @@ void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // im05r ln_set_rate = 31.6622 + -87.6737 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.6737 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1504,9 +1739,13 @@ void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.1246 + -84.6757 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.83333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.6757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.83333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1521,9 +1760,13 @@ void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.0177 + -84.6757 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.6757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1538,7 +1781,7 @@ void rate_O15_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_to_n_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 --> n + O15 @@ -1553,9 +1796,13 @@ void rate_O16_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 32.3869 + -181.759 * tfactors.T9i + -1.11761 * tfactors.T913i + 1.0167 * tfactors.T913 + 0.0449976 * tfactors.T9 + -0.00204682 * tfactors.T953 + 0.710783 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 181.759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.11761 * tfactors.T943i + (1.0/3.0) * 1.0167 * tfactors.T923i + 0.0449976 + (5.0/3.0) * -0.00204682 * tfactors.T923 + 0.710783 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1570,7 +1817,7 @@ void rate_O16_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 --> p + N15 @@ -1585,9 +1832,13 @@ void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 38.8465 + -150.962 * tfactors.T9i + 0.0459037 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 150.962 * tfactors.T9i * tfactors.T9i + 0.0459037; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1601,8 +1852,12 @@ void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // li10r ln_set_rate = 30.8927 + -143.656 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 143.656 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1617,9 +1872,13 @@ void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 44.3197 + -140.732 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 140.732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1634,7 +1893,7 @@ void rate_O16_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 --> He4 + C12 @@ -1649,9 +1908,13 @@ void rate_O16_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 94.3131 + -84.503 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.503 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1666,9 +1929,13 @@ void rate_O16_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 279.295 + -84.9515 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.9515 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1683,7 +1950,7 @@ void rate_O16_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O17_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O17_to_n_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 --> n + O16 @@ -1698,9 +1965,13 @@ void rate_O17_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 29.0385 + -48.0574 * tfactors.T9i + -2.11246 * tfactors.T913i + 4.87742 * tfactors.T913 + -0.314426 * tfactors.T9 + 0.0169515 * tfactors.T953 + 0.515216 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 48.0574 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.11246 * tfactors.T943i + (1.0/3.0) * 4.87742 * tfactors.T923i + -0.314426 + (5.0/3.0) * 0.0169515 * tfactors.T923 + 0.515216 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1715,7 +1986,7 @@ void rate_O17_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O18_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O18_to_n_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 --> n + O17 @@ -1730,9 +2001,13 @@ void rate_O18_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 29.682 + -93.3549 * tfactors.T9i + 7.48144e-11 * tfactors.T913i + -2.47239e-10 * tfactors.T913 + 2.48052e-11 * tfactors.T9 + -2.07736e-12 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.3549 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.48144e-11 * tfactors.T943i + (1.0/3.0) * -2.47239e-10 * tfactors.T923i + 2.48052e-11 + (5.0/3.0) * -2.07736e-12 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1747,9 +2022,13 @@ void rate_O18_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 45.5915 + -95.4845 * tfactors.T9i + 16.8052 * tfactors.T913i + -30.138 * tfactors.T913 + 1.14711 * tfactors.T9 + -0.0220312 * tfactors.T953 + 15.2452 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.4845 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 16.8052 * tfactors.T943i + (1.0/3.0) * -30.138 * tfactors.T923i + 1.14711 + (5.0/3.0) * -0.0220312 * tfactors.T923 + 15.2452 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1764,7 +2043,7 @@ void rate_O18_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 --> He4 + C14 @@ -1779,9 +2058,13 @@ void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.546 + -82.6514 * tfactors.T9i + -3.83188 * tfactors.T913 + 1.64358 * tfactors.T9 + -0.177785 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 82.6514 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.83188 * tfactors.T923i + 1.64358 + (5.0/3.0) * -0.177785 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1795,8 +2078,12 @@ void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 0.910093 + -74.3219 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.3219 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1811,9 +2098,13 @@ void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.2028 + -72.2531 * tfactors.T9i + -31.7222 * tfactors.T913i + 11.3923 * tfactors.T913 + -9.92249 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 72.2531 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.7222 * tfactors.T943i + (1.0/3.0) * 11.3923 * tfactors.T923i + -9.92249 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1828,7 +2119,7 @@ void rate_O18_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 --> p + O16 @@ -1843,9 +2134,13 @@ void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.9135 + -6.96583 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.96583 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1860,7 +2155,7 @@ void rate_F17_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F18_to_n_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 --> n + F17 @@ -1875,9 +2170,13 @@ void rate_F18_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 27.7411 + -106.154 * tfactors.T9i + -2.71353 * tfactors.T913i + 6.19871 * tfactors.T913 + -0.26836 * tfactors.T9 + 0.0115489 * tfactors.T953 + -1.02002 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.154 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.71353 * tfactors.T943i + (1.0/3.0) * 6.19871 * tfactors.T923i + -0.26836 + (5.0/3.0) * 0.0115489 * tfactors.T923 + -1.02002 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1892,7 +2191,7 @@ void rate_F18_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 --> p + O17 @@ -1907,9 +2206,13 @@ void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 33.7037 + -71.2889 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 71.2889 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1923,8 +2226,12 @@ void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // il10r ln_set_rate = 11.2362 + -65.8069 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.8069 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1939,9 +2246,13 @@ void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.2061 + -65.0606 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.0606 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1956,7 +2267,7 @@ void rate_F18_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 --> He4 + N14 @@ -1970,8 +2281,12 @@ void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 38.6146 + -62.1948 * tfactors.T9i + -5.6227 * tfactors.T913i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 62.1948 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -1985,8 +2300,12 @@ void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 24.9119 + -56.3896 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 56.3896 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2001,9 +2320,13 @@ void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.249 + -51.2292 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.2292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2018,7 +2341,7 @@ void rate_F18_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F19_to_n_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 --> n + F18 @@ -2033,9 +2356,13 @@ void rate_F19_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 24.8451 + -120.998 * tfactors.T9i + -6.65988 * tfactors.T913i + 18.3243 * tfactors.T913 + -1.47263 * tfactors.T9 + 0.0955082 * tfactors.T953 + -5.25505 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.998 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.65988 * tfactors.T943i + (1.0/3.0) * 18.3243 * tfactors.T923i + -1.47263 + (5.0/3.0) * 0.0955082 * tfactors.T923 + -5.25505 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2050,7 +2377,7 @@ void rate_F19_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 --> p + O18 @@ -2065,9 +2392,13 @@ void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 30.2003 + -99.501 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.501 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2081,8 +2412,12 @@ void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // il10r ln_set_rate = 28.008 + -94.4325 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.4325 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2096,8 +2431,12 @@ void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // il10r ln_set_rate = -12.0764 + -93.0204 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.0204 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2112,9 +2451,13 @@ void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 42.8485 + -92.7757 * tfactors.T9i + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.7757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2129,7 +2472,7 @@ void rate_F19_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 --> He4 + N15 @@ -2144,9 +2487,13 @@ void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.06142 + -50.7773 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.7773 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2160,8 +2507,12 @@ void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 28.2717 + -53.5621 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.5621 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2175,8 +2526,12 @@ void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 15.3186 + -50.7554 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.7554 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2191,9 +2546,13 @@ void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.1291 + -46.5774 * tfactors.T9i + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.5774 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2208,7 +2567,7 @@ void rate_F19_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne18_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 --> p + F17 @@ -2223,9 +2582,13 @@ void rate_Ne18_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 52.9895 + -50.492 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.492 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2240,9 +2603,13 @@ void rate_Ne18_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 17.5646 + -45.5647 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.63376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.63376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2257,7 +2624,7 @@ void rate_Ne18_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 --> He4 + O14 @@ -2272,9 +2639,13 @@ void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.0156 + -71.5044 * tfactors.T9i + 6.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 71.5044 * tfactors.T9i * tfactors.T9i + 6.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2288,8 +2659,12 @@ void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // wh87r ln_set_rate = 28.2415 + -81.9554 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 81.9554 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2303,8 +2678,12 @@ void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // wh87r ln_set_rate = 22.5609 + -71.0754 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 71.0754 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2319,9 +2698,13 @@ void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.158 + -59.3454 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.3454 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2336,7 +2719,7 @@ void rate_Ne18_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne19_to_n_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 --> n + Ne18 @@ -2351,9 +2734,13 @@ void rate_Ne19_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 32.1805 + -135.042 * tfactors.T9i + 0.937162 * tfactors.T913 + -0.0221952 * tfactors.T9 + -0.00101206 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 135.042 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.937162 * tfactors.T923i + -0.0221952 + (5.0/3.0) * -0.00101206 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2368,7 +2755,7 @@ void rate_Ne19_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 --> p + F18 @@ -2383,9 +2770,13 @@ void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 81.4385 + -74.3988 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.3988 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2400,9 +2791,13 @@ void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.1729 + -77.2902 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.2902 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2417,9 +2812,13 @@ void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.41887 + -74.7977 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.7977 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2434,7 +2833,7 @@ void rate_Ne19_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 --> He4 + O15 @@ -2449,9 +2848,13 @@ void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -7.51212 + -45.1578 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.1578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2465,8 +2868,12 @@ void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // dc11r ln_set_rate = 24.6922 + -46.8378 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.8378 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2481,9 +2888,13 @@ void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.0289 + -40.9534 * tfactors.T9i + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.9534 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2498,7 +2909,7 @@ void rate_Ne19_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne20_to_n_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 --> n + Ne19 @@ -2513,9 +2924,13 @@ void rate_Ne20_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.7283 + -195.706 * tfactors.T9i + 1.57592 * tfactors.T913 + -0.11175 * tfactors.T9 + 0.00226473 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 195.706 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.57592 * tfactors.T923i + -0.11175 + (5.0/3.0) * 0.00226473 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2530,7 +2945,7 @@ void rate_Ne20_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 --> p + F19 @@ -2545,9 +2960,13 @@ void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.691 + -156.781 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 156.781 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2562,9 +2981,13 @@ void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 36.7036 + -150.75 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 150.75 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2579,9 +3002,13 @@ void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6027 + -149.037 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 149.037 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2596,7 +3023,7 @@ void rate_Ne20_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 --> He4 + O16 @@ -2610,8 +3037,12 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // co10r ln_set_rate = 28.6431 + -65.246 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.246 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2626,9 +3057,13 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.6604 + -54.8875 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 54.8875 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2643,9 +3078,13 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.2658 + -67.6518 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.6518 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2660,7 +3099,7 @@ void rate_Ne20_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne21_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne21_to_n_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 --> n + Ne20 @@ -2675,9 +3114,13 @@ void rate_Ne21_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.8228 + -78.458 * tfactors.T9i + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.458 * tfactors.T9i * tfactors.T9i + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2691,8 +3134,12 @@ void rate_Ne21_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // ka02r ln_set_rate = 34.9807 + -80.162 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.162 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2707,7 +3154,7 @@ void rate_Ne21_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 --> He4 + O17 @@ -2722,9 +3169,13 @@ void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 0.0906657 + -90.782 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 83.7218 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.782 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 83.7218 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2739,9 +3190,13 @@ void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -91.954 + -98.9487 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -41.2753 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.9487 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -41.2753 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2756,9 +3211,13 @@ void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 27.3205 + -91.2722 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 6.25778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.2722 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 6.25778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2773,7 +3232,7 @@ void rate_Ne21_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne22_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne22_to_n_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 --> n + Ne21 @@ -2788,9 +3247,13 @@ void rate_Ne22_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 48.5428 + -120.224 * tfactors.T9i + -0.238173 * tfactors.T913i + -12.2336 * tfactors.T913 + 1.14968 * tfactors.T9 + -0.0768882 * tfactors.T953 + 4.13636 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.224 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.238173 * tfactors.T943i + (1.0/3.0) * -12.2336 * tfactors.T923i + 1.14968 + (5.0/3.0) * -0.0768882 * tfactors.T923 + 4.13636 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2805,7 +3268,7 @@ void rate_Ne22_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 --> He4 + O18 @@ -2820,9 +3283,13 @@ void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 106.996 + -113.779 * tfactors.T9i + -44.3823 * tfactors.T913i + -46.6617 * tfactors.T913 + 7.88059 * tfactors.T9 + -0.590829 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 113.779 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -44.3823 * tfactors.T943i + (1.0/3.0) * -46.6617 * tfactors.T923i + 7.88059 + (5.0/3.0) * -0.590829 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2836,8 +3303,12 @@ void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // il10r ln_set_rate = -7.12154 + -114.197 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.197 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2851,8 +3322,12 @@ void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // il10r ln_set_rate = -56.5125 + -112.87 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.87 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2866,8 +3341,12 @@ void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex // il10r ln_set_rate = 39.7659 + -143.24 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 143.24 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2882,7 +3361,7 @@ void rate_Ne22_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 --> p + Ne20 @@ -2897,9 +3376,13 @@ void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 230.123 + -28.3722 * tfactors.T9i + 15.325 * tfactors.T913i + -294.859 * tfactors.T913 + 107.692 * tfactors.T9 + -46.2072 * tfactors.T953 + 59.3398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.3722 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.325 * tfactors.T943i + (1.0/3.0) * -294.859 * tfactors.T923i + 107.692 + (5.0/3.0) * -46.2072 * tfactors.T923 + 59.3398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2914,9 +3397,13 @@ void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.0772 + -37.0575 * tfactors.T9i + 20.5893 * tfactors.T913i + -17.5841 * tfactors.T913 + 0.243226 * tfactors.T9 + -0.000231418 * tfactors.T953 + 14.3398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.0575 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 20.5893 * tfactors.T943i + (1.0/3.0) * -17.5841 * tfactors.T923i + 0.243226 + (5.0/3.0) * -0.000231418 * tfactors.T923 + 14.3398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2931,9 +3418,13 @@ void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 252.265 + -32.6731 * tfactors.T9i + 258.57 * tfactors.T913i + -506.387 * tfactors.T913 + 22.1576 * tfactors.T9 + -0.721182 * tfactors.T953 + 231.788 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 32.6731 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 258.57 * tfactors.T943i + (1.0/3.0) * -506.387 * tfactors.T923i + 22.1576 + (5.0/3.0) * -0.721182 * tfactors.T923 + 231.788 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2948,9 +3439,13 @@ void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 195320.0 + -89.3596 * tfactors.T9i + 21894.7 * tfactors.T913i + -319153.0 * tfactors.T913 + 224369.0 * tfactors.T9 + -188049.0 * tfactors.T953 + 48704.9 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.3596 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21894.7 * tfactors.T943i + (1.0/3.0) * -319153.0 * tfactors.T923i + 224369.0 + (5.0/3.0) * -188049.0 * tfactors.T923 + 48704.9 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2965,7 +3460,7 @@ void rate_Na21_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na21_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na21_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 --> He4 + F17 @@ -2980,9 +3475,13 @@ void rate_Na21_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 66.3334 + -77.8653 * tfactors.T9i + 15.559 * tfactors.T913i + -68.3231 * tfactors.T913 + 2.54275 * tfactors.T9 + -0.0989207 * tfactors.T953 + 38.3877 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.8653 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.559 * tfactors.T943i + (1.0/3.0) * -68.3231 * tfactors.T923i + 2.54275 + (5.0/3.0) * -0.0989207 * tfactors.T923 + 38.3877 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2997,7 +3496,7 @@ void rate_Na21_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na22_to_n_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 --> n + Na21 @@ -3012,9 +3511,13 @@ void rate_Na22_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.6596 + -128.457 * tfactors.T9i + 1.31089 * tfactors.T913 + -0.164931 * tfactors.T9 + 0.00903374 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 128.457 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.31089 * tfactors.T923i + -0.164931 + (5.0/3.0) * 0.00903374 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3029,7 +3532,7 @@ void rate_Na22_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 --> p + Ne21 @@ -3043,8 +3546,12 @@ void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 24.8334 + -79.6093 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.6093 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3058,8 +3565,12 @@ void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = -24.579 + -78.4059 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.4059 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3074,9 +3585,13 @@ void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.146 + -78.2097 * tfactors.T9i + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.2097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3091,9 +3606,13 @@ void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.4098 + -82.4235 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 82.4235 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3108,7 +3627,7 @@ void rate_Na22_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na22_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na22_to_He4_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 --> He4 + F18 @@ -3123,9 +3642,13 @@ void rate_Na22_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 59.3224 + -100.236 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.236 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3140,7 +3663,7 @@ void rate_Na22_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na23_to_n_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 --> n + Na22 @@ -3155,9 +3678,13 @@ void rate_Na23_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.0665 + -144.113 * tfactors.T9i + 1.02148 * tfactors.T913 + -0.334638 * tfactors.T9 + 0.0258708 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 144.113 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.02148 * tfactors.T923i + -0.334638 + (5.0/3.0) * 0.0258708 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3172,7 +3699,7 @@ void rate_Na23_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 --> p + Ne22 @@ -3187,9 +3714,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.6534 + -103.776 * tfactors.T9i + 1.18923 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.776 * tfactors.T9i * tfactors.T9i + 1.18923 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3204,9 +3735,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.818178 + -102.466 * tfactors.T9i + 0.009812 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.466 * tfactors.T9i * tfactors.T9i + 0.009812 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3221,9 +3756,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.1624 + -102.855 * tfactors.T9i + 4.73558 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.855 * tfactors.T9i * tfactors.T9i + 4.73558 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3238,9 +3777,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.29 + -110.779 * tfactors.T9i + 0.732533 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.779 * tfactors.T9i * tfactors.T9i + 0.732533 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3255,9 +3798,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.8935 + -106.655 * tfactors.T9i + 1.65623 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.655 * tfactors.T9i * tfactors.T9i + 1.65623 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3272,9 +3819,13 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.2467 + -104.673 * tfactors.T9i + -2.79964 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 104.673 * tfactors.T9i * tfactors.T9i + -2.79964 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3289,7 +3840,7 @@ void rate_Na23_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Na23_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Na23_to_He4_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 --> He4 + F19 @@ -3304,9 +3855,13 @@ void rate_Na23_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 76.8979 + -123.578 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 55.9823 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 55.9823 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3321,7 +3876,7 @@ void rate_Na23_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 --> p + Na22 @@ -3335,8 +3890,12 @@ void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 7.95641 + -88.7434 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.7434 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3350,8 +3909,12 @@ void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = -1.07519 + -88.4655 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.4655 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3366,9 +3929,13 @@ void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.9256 + -90.3923 * tfactors.T9i + 4.86658 * tfactors.T913i + 16.4592 * tfactors.T913 + -1.95129 * tfactors.T9 + 0.132972 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.3923 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.86658 * tfactors.T943i + (1.0/3.0) * 16.4592 * tfactors.T923i + -1.95129 + (5.0/3.0) * 0.132972 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3383,7 +3950,7 @@ void rate_Mg23_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg23_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg23_to_He4_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 --> He4 + Ne19 @@ -3398,9 +3965,13 @@ void rate_Mg23_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.3121 + -111.985 * tfactors.T9i + -46.6346 * tfactors.T913i + -1.1007 * tfactors.T913 + -0.794097 * tfactors.T9 + 0.0813036 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 111.985 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * -1.1007 * tfactors.T923i + -0.794097 + (5.0/3.0) * 0.0813036 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3415,7 +3986,7 @@ void rate_Mg23_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg24_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 --> n + Mg23 @@ -3430,9 +4001,13 @@ void rate_Mg24_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 32.0344 + -191.835 * tfactors.T9i + 2.66964 * tfactors.T913 + -0.448904 * tfactors.T9 + 0.0326505 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 191.835 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.66964 * tfactors.T923i + -0.448904 + (5.0/3.0) * 0.0326505 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3447,7 +4022,7 @@ void rate_Mg24_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 --> p + Na23 @@ -3462,9 +4037,13 @@ void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.0876 + -138.968 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 138.968 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3478,8 +4057,12 @@ void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 20.0024 + -137.3 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 137.3 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3494,9 +4077,13 @@ void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.9357 + -135.688 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 135.688 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3511,7 +4098,7 @@ void rate_Mg24_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 --> He4 + Ne20 @@ -3526,9 +4113,13 @@ void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.0203 + -120.895 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3542,8 +4133,12 @@ void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // il10r ln_set_rate = 26.8017 + -117.334 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.334 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3557,8 +4152,12 @@ void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // il10r ln_set_rate = -13.8869 + -110.62 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.62 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3573,9 +4172,13 @@ void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.3244 + -108.114 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 108.114 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3590,7 +4193,7 @@ void rate_Mg24_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg25_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg25_to_n_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 --> n + Mg24 @@ -3605,9 +4208,13 @@ void rate_Mg25_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.4748 + -84.9032 * tfactors.T9i + -0.142939 * tfactors.T913i + -57.7499 * tfactors.T913 + 7.01981 * tfactors.T9 + -0.582057 * tfactors.T953 + 14.3133 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.9032 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.142939 * tfactors.T943i + (1.0/3.0) * -57.7499 * tfactors.T923i + 7.01981 + (5.0/3.0) * -0.582057 * tfactors.T923 + 14.3133 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3622,7 +4229,7 @@ void rate_Mg25_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg25_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg25_to_He4_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 --> He4 + Ne21 @@ -3637,9 +4244,13 @@ void rate_Mg25_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 50.668 + -136.725 * tfactors.T9i + -29.4583 * tfactors.T913 + 14.6328 * tfactors.T9 + -3.47392 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 136.725 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -29.4583 * tfactors.T923i + 14.6328 + (5.0/3.0) * -3.47392 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3654,9 +4265,13 @@ void rate_Mg25_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.1178 + -114.676 * tfactors.T9i + -46.89 * tfactors.T913i + -0.72642 * tfactors.T913 + -0.76406 * tfactors.T9 + 0.0797483 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.676 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.89 * tfactors.T943i + (1.0/3.0) * -0.72642 * tfactors.T923i + -0.76406 + (5.0/3.0) * 0.0797483 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3671,7 +4286,7 @@ void rate_Mg25_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg26_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg26_to_n_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 --> n + Mg25 @@ -3686,9 +4301,13 @@ void rate_Mg26_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.7787 + -128.778 * tfactors.T9i + 9.392 * tfactors.T913i + -36.6784 * tfactors.T913 + 3.09567 * tfactors.T9 + -0.223882 * tfactors.T953 + 13.8852 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 128.778 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.392 * tfactors.T943i + (1.0/3.0) * -36.6784 * tfactors.T923i + 3.09567 + (5.0/3.0) * -0.223882 * tfactors.T923 + 13.8852 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3703,7 +4322,7 @@ void rate_Mg26_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 --> He4 + Ne22 @@ -3717,8 +4336,12 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // li12r ln_set_rate = -67.5662 + -124.09 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 124.09 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3733,9 +4356,13 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -9.88392 + -129.544 * tfactors.T9i + 35.9878 * tfactors.T913 + -4.10684 * tfactors.T9 + 0.259345 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 129.544 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.9878 * tfactors.T923i + -4.10684 + (5.0/3.0) * 0.259345 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3750,9 +4377,13 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.47312 + -129.627 * tfactors.T9i + 43.2654 * tfactors.T913 + -18.5982 * tfactors.T9 + 2.80101 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 129.627 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 43.2654 * tfactors.T923i + -18.5982 + (5.0/3.0) * 2.80101 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3766,8 +4397,12 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // li12r ln_set_rate = 1.08878 + -127.062 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 127.062 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3781,8 +4416,12 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // li12r ln_set_rate = -18.0225 + -125.401 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 125.401 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3797,7 +4436,7 @@ void rate_Mg26_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al25_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al25_to_p_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 --> p + Mg24 @@ -3812,9 +4451,13 @@ void rate_Al25_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.093 + -28.8453 * tfactors.T9i + -1.57811 * tfactors.T913 + 1.52232 * tfactors.T9 + -0.183001 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.8453 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.57811 * tfactors.T923i + 1.52232 + (5.0/3.0) * -0.183001 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3829,9 +4472,13 @@ void rate_Al25_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.7494 + -26.3608 * tfactors.T9i + -22.0227 * tfactors.T913i + 0.361297 * tfactors.T913 + 2.61292 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.3608 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -22.0227 * tfactors.T943i + (1.0/3.0) * 0.361297 * tfactors.T923i + 2.61292 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3846,7 +4493,7 @@ void rate_Al25_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al25_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al25_to_He4_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 --> He4 + Na21 @@ -3861,9 +4508,13 @@ void rate_Al25_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 59.7257 + -106.262 * tfactors.T9i + -49.9709 * tfactors.T913i + 1.63835 * tfactors.T913 + -1.18562 * tfactors.T9 + 0.101965 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.262 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -49.9709 * tfactors.T943i + (1.0/3.0) * 1.63835 * tfactors.T923i + -1.18562 + (5.0/3.0) * 0.101965 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3878,7 +4529,7 @@ void rate_Al25_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al26_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al26_to_n_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 --> n + Al25 @@ -3893,9 +4544,13 @@ void rate_Al26_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.9667 + -131.891 * tfactors.T9i + 1.17141 * tfactors.T913 + -0.162515 * tfactors.T9 + 0.0126275 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 131.891 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.17141 * tfactors.T923i + -0.162515 + (5.0/3.0) * 0.0126275 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3910,7 +4565,7 @@ void rate_Al26_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 --> p + Mg25 @@ -3925,9 +4580,13 @@ void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.2686 + -76.4067 * tfactors.T9i + 8.46334 * tfactors.T913 + -0.907024 * tfactors.T9 + 0.0642981 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.4067 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.46334 * tfactors.T923i + -0.907024 + (5.0/3.0) * 0.0642981 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3942,9 +4601,13 @@ void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.2591 + -73.903 * tfactors.T9i + -88.9297 * tfactors.T913 + 302.948 * tfactors.T9 + -346.461 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.903 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -88.9297 * tfactors.T923i + 302.948 + (5.0/3.0) * -346.461 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3958,8 +4621,12 @@ void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = -14.1555 + -73.6126 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.6126 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3974,7 +4641,7 @@ void rate_Al26_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al26_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al26_to_He4_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 --> He4 + Na22 @@ -3989,9 +4656,13 @@ void rate_Al26_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.7692 + -109.695 * tfactors.T9i + -50.0924 * tfactors.T913i + -0.390826 * tfactors.T913 + -0.99531 * tfactors.T9 + 0.101354 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 109.695 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -50.0924 * tfactors.T943i + (1.0/3.0) * -0.390826 * tfactors.T923i + -0.99531 + (5.0/3.0) * 0.101354 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4006,7 +4677,7 @@ void rate_Al26_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al27_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al27_to_n_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 --> n + Al26 @@ -4021,9 +4692,13 @@ void rate_Al27_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.0178 + -151.532 * tfactors.T9i + -0.171158 * tfactors.T913i + -1.77283 * tfactors.T913 + 0.206192 * tfactors.T9 + -0.0191705 * tfactors.T953 + 1.63961 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 151.532 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.171158 * tfactors.T943i + (1.0/3.0) * -1.77283 * tfactors.T923i + 0.206192 + (5.0/3.0) * -0.0191705 * tfactors.T923 + 1.63961 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4038,7 +4713,7 @@ void rate_Al27_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 --> p + Mg26 @@ -4053,9 +4728,13 @@ void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.118 + -99.3406 * tfactors.T9i + 6.78105 * tfactors.T913 + -1.25771 * tfactors.T9 + 0.140754 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.3406 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.78105 * tfactors.T923i + -1.25771 + (5.0/3.0) * 0.140754 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4070,9 +4749,13 @@ void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.3594 + -96.8701 * tfactors.T9i + 35.6312 * tfactors.T913 + -5.27265 * tfactors.T9 + 0.392932 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 96.8701 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.6312 * tfactors.T923i + -5.27265 + (5.0/3.0) * 0.392932 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4087,9 +4770,13 @@ void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -62.6356 + -96.4509 * tfactors.T9i + 251.281 * tfactors.T913 + -730.009 * tfactors.T9 + -224.016 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 96.4509 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 251.281 * tfactors.T923i + -730.009 + (5.0/3.0) * -224.016 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4104,7 +4791,7 @@ void rate_Al27_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Al27_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Al27_to_He4_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 --> He4 + Na23 @@ -4119,9 +4806,13 @@ void rate_Al27_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 69.2185 + -117.109 * tfactors.T9i + -50.2042 * tfactors.T913i + -1.64239 * tfactors.T913 + -1.59995 * tfactors.T9 + 0.184933 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.109 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * -1.64239 * tfactors.T923i + -1.59995 + (5.0/3.0) * 0.184933 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4136,7 +4827,7 @@ void rate_Al27_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 --> p + Al27 @@ -4151,9 +4842,13 @@ void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.5494 + -134.445 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 134.445 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4168,9 +4863,13 @@ void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 111.466 + -134.832 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 134.832 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4185,9 +4884,13 @@ void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.7765 + -136.349 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 136.349 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4202,7 +4905,7 @@ void rate_Si28_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si28_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si28_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 --> He4 + Mg24 @@ -4216,8 +4919,12 @@ void rate_Si28_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // st08r ln_set_rate = 32.9006 + -131.488 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 131.488 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4232,9 +4939,13 @@ void rate_Si28_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.6886 + -128.693 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 128.693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4249,7 +4960,7 @@ void rate_Si28_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si29_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si29_to_n_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 --> n + Si28 @@ -4264,9 +4975,13 @@ void rate_Si29_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 31.7355 + -98.3365 * tfactors.T9i + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.3365 * tfactors.T9i * tfactors.T9i + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4281,9 +4996,13 @@ void rate_Si29_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 29.8758 + -98.7165 * tfactors.T9i + 7.68863 * tfactors.T913 + -1.7991 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.7165 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.68863 * tfactors.T923i + -1.7991; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4298,7 +5017,7 @@ void rate_Si29_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si29_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si29_to_He4_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 --> He4 + Mg25 @@ -4313,9 +5032,13 @@ void rate_Si29_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.3395 + -129.123 * tfactors.T9i + -53.41 * tfactors.T913i + -1.83266 * tfactors.T913 + -0.573073 * tfactors.T9 + 0.0462678 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 129.123 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.41 * tfactors.T943i + (1.0/3.0) * -1.83266 * tfactors.T923i + -0.573073 + (5.0/3.0) * 0.0462678 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4330,7 +5053,7 @@ void rate_Si29_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si30_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si30_to_n_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 --> n + Si29 @@ -4345,9 +5068,13 @@ void rate_Si30_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.1504 + -123.112 * tfactors.T9i + 0.650904 * tfactors.T913 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.112 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.650904 * tfactors.T923i + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4362,9 +5089,13 @@ void rate_Si30_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.9492 + -123.292 * tfactors.T9i + 5.50678 * tfactors.T913 + -2.85656 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.292 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.50678 * tfactors.T923i + -2.85656; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4379,7 +5110,7 @@ void rate_Si30_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si30_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si30_to_He4_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 --> He4 + Mg26 @@ -4394,9 +5125,13 @@ void rate_Si30_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2068 + -142.235 * tfactors.T9i + -1.87411 * tfactors.T913 + 3.41299 * tfactors.T9 + -0.43226 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 142.235 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.87411 * tfactors.T923i + 3.41299 + (5.0/3.0) * -0.43226 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4411,9 +5146,13 @@ void rate_Si30_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 70.7561 + -123.518 * tfactors.T9i + -53.7518 * tfactors.T913i + -4.8647 * tfactors.T913 + -1.51467 * tfactors.T9 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.518 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.7518 * tfactors.T943i + (1.0/3.0) * -4.8647 * tfactors.T923i + -1.51467 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4428,7 +5167,7 @@ void rate_Si30_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si31_to_n_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si31_to_n_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 --> n + Si30 @@ -4443,9 +5182,13 @@ void rate_Si31_to_n_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.0759 + -76.3737 * tfactors.T9i + -12.3502 * tfactors.T913i + 34.6486 * tfactors.T913 + -1.89409 * tfactors.T9 + 0.0781979 * tfactors.T953 + -12.9601 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.3737 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.3502 * tfactors.T943i + (1.0/3.0) * 34.6486 * tfactors.T923i + -1.89409 + (5.0/3.0) * 0.0781979 * tfactors.T923 + -12.9601 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4460,7 +5203,7 @@ void rate_Si31_to_n_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Si32_to_n_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Si32_to_n_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si32 --> n + Si31 @@ -4475,9 +5218,13 @@ void rate_Si32_to_n_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.9895 + -106.811 * tfactors.T9i + 0.154735 * tfactors.T913i + 0.304696 * tfactors.T913 + 0.0236238 * tfactors.T9 + -0.00396359 * tfactors.T953 + 1.06783 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.811 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.154735 * tfactors.T943i + (1.0/3.0) * 0.304696 * tfactors.T923i + 0.0236238 + (5.0/3.0) * -0.00396359 * tfactors.T923 + 1.06783 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4492,7 +5239,7 @@ void rate_Si32_to_n_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P29_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P29_to_p_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 --> p + Si28 @@ -4507,9 +5254,13 @@ void rate_P29_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 39.1379 + -31.8984 * tfactors.T9i + -23.8173 * tfactors.T913i + 7.08203 * tfactors.T913 + -1.44753 * tfactors.T9 + 0.0804296 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.8984 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.8173 * tfactors.T943i + (1.0/3.0) * 7.08203 * tfactors.T923i + -1.44753 + (5.0/3.0) * 0.0804296 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4523,8 +5274,12 @@ void rate_P29_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // il10r ln_set_rate = 28.6997 + -36.0408 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.0408 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4539,7 +5294,7 @@ void rate_P29_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P29_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P29_to_He4_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 --> He4 + Al25 @@ -4554,9 +5309,13 @@ void rate_P29_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 63.8779 + -121.399 * tfactors.T9i + -56.3424 * tfactors.T913i + 0.542998 * tfactors.T913 + -0.721716 * tfactors.T9 + 0.0469712 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 121.399 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.3424 * tfactors.T943i + (1.0/3.0) * 0.542998 * tfactors.T923i + -0.721716 + (5.0/3.0) * 0.0469712 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4571,7 +5330,7 @@ void rate_P29_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P30_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P30_to_n_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 --> n + P29 @@ -4586,9 +5345,13 @@ void rate_P30_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 32.0379 + -131.355 * tfactors.T9i + 0.15555 * tfactors.T913 + 0.155359 * tfactors.T9 + -0.0208019 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 131.355 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.15555 * tfactors.T923i + 0.155359 + (5.0/3.0) * -0.0208019 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4603,7 +5366,7 @@ void rate_P30_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 --> p + Si29 @@ -4618,9 +5381,13 @@ void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 22.0015 + -68.2607 * tfactors.T9i + 14.0921 * tfactors.T913 + -3.92096 * tfactors.T9 + 0.447706 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 68.2607 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 14.0921 * tfactors.T923i + -3.92096 + (5.0/3.0) * 0.447706 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4634,8 +5401,12 @@ void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // il10r ln_set_rate = 9.77935 + -66.1716 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 66.1716 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4650,9 +5421,13 @@ void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 39.7677 + -64.9214 * tfactors.T9i + -23.9101 * tfactors.T913i + 10.7796 * tfactors.T913 + -3.04181 * tfactors.T9 + 0.274565 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 64.9214 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.9101 * tfactors.T943i + (1.0/3.0) * 10.7796 * tfactors.T923i + -3.04181 + (5.0/3.0) * 0.274565 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4667,7 +5442,7 @@ void rate_P30_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P30_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P30_to_He4_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 --> He4 + Al26 @@ -4682,9 +5457,13 @@ void rate_P30_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 69.1545 + -120.863 * tfactors.T9i + -56.4422 * tfactors.T913i + -2.44848 * tfactors.T913 + -1.17578 * tfactors.T9 + 0.150757 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.863 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.4422 * tfactors.T943i + (1.0/3.0) * -2.44848 * tfactors.T923i + -1.17578 + (5.0/3.0) * 0.150757 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4699,7 +5478,7 @@ void rate_P30_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P31_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P31_to_n_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 --> n + P30 @@ -4714,9 +5493,13 @@ void rate_P31_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 36.8808 + -142.87 * tfactors.T9i + 0.909911 * tfactors.T913 + -0.162367 * tfactors.T9 + 0.00668293 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 142.87 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.909911 * tfactors.T923i + -0.162367 + (5.0/3.0) * 0.00668293 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4731,7 +5514,7 @@ void rate_P31_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 --> p + Si30 @@ -4746,9 +5529,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.7213 + -85.9282 * tfactors.T9i + 6.49034 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.9282 * tfactors.T9i * tfactors.T9i + 6.49034 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4763,9 +5550,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 4.04359 + -85.6217 * tfactors.T9i + 2.80331 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.6217 * tfactors.T9i * tfactors.T9i + 2.80331 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4780,9 +5571,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -1115.38 + -180.553 * tfactors.T9i + -895.258 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 180.553 * tfactors.T9i * tfactors.T9i + -895.258 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4797,9 +5592,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 32.9288 + -90.2661 * tfactors.T9i + -0.070816 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.2661 * tfactors.T9i * tfactors.T9i + -0.070816 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4814,9 +5613,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -11.8961 + -85.2694 * tfactors.T9i + -0.128387 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.2694 * tfactors.T9i * tfactors.T9i + -0.128387 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4831,9 +5634,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.3329 + -91.3175 * tfactors.T9i + 0.3809 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.3175 * tfactors.T9i * tfactors.T9i + 0.3809 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4848,9 +5655,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 31.761 + -89.8588 * tfactors.T9i + 2.7883 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.8588 * tfactors.T9i * tfactors.T9i + 2.7883 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4865,9 +5676,13 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -311.303 + -85.8097 * tfactors.T9i + -77.047 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.8097 * tfactors.T9i * tfactors.T9i + -77.047 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4882,7 +5697,7 @@ void rate_P31_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P31_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P31_to_He4_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 --> He4 + Al27 @@ -4897,9 +5712,13 @@ void rate_P31_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.2168 + -112.206 * tfactors.T9i + -56.5351 * tfactors.T913i + -0.896208 * tfactors.T913 + -1.72024 * tfactors.T9 + 0.185409 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.206 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * -0.896208 * tfactors.T923i + -1.72024 + (5.0/3.0) * 0.185409 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4914,7 +5733,7 @@ void rate_P31_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P32_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P32_to_n_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 --> n + P31 @@ -4928,8 +5747,12 @@ void rate_P32_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // ka02r ln_set_rate = 32.7384 + -92.3401 * tfactors.T9i + 2.13185 * tfactors.T913; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.3401 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.13185 * tfactors.T923i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4944,9 +5767,13 @@ void rate_P32_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 35.7859 + -92.0933 * tfactors.T9i + 0.327031 * tfactors.T913 + 2.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.0933 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.327031 * tfactors.T923i + 2.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4961,7 +5788,7 @@ void rate_P32_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P32_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P32_to_p_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 --> p + Si31 @@ -4976,9 +5803,13 @@ void rate_P32_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 124.914 + -103.703 * tfactors.T9i + 123.4 * tfactors.T913i + -231.734 * tfactors.T913 + 14.2724 * tfactors.T9 + -0.867645 * tfactors.T953 + 109.969 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.703 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.4 * tfactors.T943i + (1.0/3.0) * -231.734 * tfactors.T923i + 14.2724 + (5.0/3.0) * -0.867645 * tfactors.T923 + 109.969 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4993,7 +5824,7 @@ void rate_P32_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P33_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P33_to_n_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 --> n + P32 @@ -5008,9 +5839,13 @@ void rate_P33_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 34.9128 + -117.195 * tfactors.T9i + -6.14814 * tfactors.T913i + 9.5582 * tfactors.T913 + -0.244744 * tfactors.T9 + -0.012887 * tfactors.T953 + -3.92926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.14814 * tfactors.T943i + (1.0/3.0) * 9.5582 * tfactors.T923i + -0.244744 + (5.0/3.0) * -0.012887 * tfactors.T923 + -3.92926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5025,7 +5860,7 @@ void rate_P33_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_P33_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_P33_to_p_Si32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 --> p + Si32 @@ -5040,9 +5875,13 @@ void rate_P33_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 201.719 + -114.648 * tfactors.T9i + 174.94 * tfactors.T913i + -365.37 * tfactors.T913 + 23.1636 * tfactors.T9 + -1.3429 * tfactors.T953 + 161.575 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.648 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 174.94 * tfactors.T943i + (1.0/3.0) * -365.37 * tfactors.T923i + 23.1636 + (5.0/3.0) * -1.3429 * tfactors.T923 + 161.575 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5057,7 +5896,7 @@ void rate_P33_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 --> p + P31 @@ -5072,9 +5911,13 @@ void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.1729 + -106.637 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.637 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5088,8 +5931,12 @@ void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R // il10r ln_set_rate = 21.6829 + -105.119 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 105.119 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5104,9 +5951,13 @@ void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 43.6109 + -102.86 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.86 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5121,7 +5972,7 @@ void rate_S32_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S32_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S32_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 --> He4 + Si28 @@ -5136,9 +5987,13 @@ void rate_S32_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.813 + -80.626 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.626 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5153,7 +6008,7 @@ void rate_S32_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S33_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S33_to_n_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 --> n + S32 @@ -5168,9 +6023,13 @@ void rate_S33_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 34.7199 + -100.079 * tfactors.T9i + -15.0178 * tfactors.T913i + 16.3567 * tfactors.T913 + -0.436839 * tfactors.T9 + -0.00574462 * tfactors.T953 + -8.28034 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.079 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.0178 * tfactors.T943i + (1.0/3.0) * 16.3567 * tfactors.T923i + -0.436839 + (5.0/3.0) * -0.00574462 * tfactors.T923 + -8.28034 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5185,7 +6044,7 @@ void rate_S33_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S33_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S33_to_p_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 --> p + P32 @@ -5200,9 +6059,13 @@ void rate_S33_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 130.726 + -114.848 * tfactors.T9i + 147.624 * tfactors.T913i + -261.318 * tfactors.T913 + 14.2732 * tfactors.T9 + -0.776243 * tfactors.T953 + 128.247 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.848 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 147.624 * tfactors.T943i + (1.0/3.0) * -261.318 * tfactors.T923i + 14.2732 + (5.0/3.0) * -0.776243 * tfactors.T923 + 128.247 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5217,7 +6080,7 @@ void rate_S33_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S33_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S33_to_He4_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 --> He4 + Si29 @@ -5232,9 +6095,13 @@ void rate_S33_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.7708 + -82.576 * tfactors.T9i + -59.5755 * tfactors.T913i + 1.06274 * tfactors.T913 + -3.07529 * tfactors.T9 + 0.372011 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 82.576 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.5755 * tfactors.T943i + (1.0/3.0) * 1.06274 * tfactors.T923i + -3.07529 + (5.0/3.0) * 0.372011 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5249,7 +6116,7 @@ void rate_S33_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S34_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S34_to_n_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 --> n + S33 @@ -5264,9 +6131,13 @@ void rate_S34_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.868 + -132.246 * tfactors.T9i + -23.1351 * tfactors.T913i + 43.3623 * tfactors.T913 + -2.74733 * tfactors.T9 + 0.159045 * tfactors.T953 + -18.1332 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 132.246 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.1351 * tfactors.T943i + (1.0/3.0) * 43.3623 * tfactors.T923i + -2.74733 + (5.0/3.0) * 0.159045 * tfactors.T923 + -18.1332 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5281,7 +6152,7 @@ void rate_S34_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S34_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S34_to_p_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 --> p + P33 @@ -5296,9 +6167,13 @@ void rate_S34_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 198.208 + -130.135 * tfactors.T9i + 161.691 * tfactors.T913i + -350.015 * tfactors.T913 + 24.3597 * tfactors.T9 + -1.56396 * tfactors.T953 + 151.463 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 130.135 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 161.691 * tfactors.T943i + (1.0/3.0) * -350.015 * tfactors.T923i + 24.3597 + (5.0/3.0) * -1.56396 * tfactors.T923 + 151.463 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5313,7 +6188,7 @@ void rate_S34_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S34_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S34_to_He4_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 --> He4 + Si30 @@ -5328,9 +6203,13 @@ void rate_S34_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 72.4051 + -91.9515 * tfactors.T9i + -59.6559 * tfactors.T913i + 3.70141 * tfactors.T913 + -3.12537 * tfactors.T9 + 0.307626 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.9515 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.6559 * tfactors.T943i + (1.0/3.0) * 3.70141 * tfactors.T923i + -3.12537 + (5.0/3.0) * 0.307626 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5345,7 +6224,7 @@ void rate_S34_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S35_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S35_to_n_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 --> n + S34 @@ -5360,9 +6239,13 @@ void rate_S35_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 63.6891 + -81.2902 * tfactors.T9i + 25.2182 * tfactors.T913i + -59.2704 * tfactors.T913 + 4.22256 * tfactors.T9 + -0.274247 * tfactors.T953 + 26.032 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 81.2902 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 25.2182 * tfactors.T943i + (1.0/3.0) * -59.2704 * tfactors.T923i + 4.22256 + (5.0/3.0) * -0.274247 * tfactors.T923 + 26.032 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5377,7 +6260,7 @@ void rate_S35_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S35_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S35_to_He4_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 --> He4 + Si31 @@ -5392,9 +6275,13 @@ void rate_S35_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -48.3481 + -98.5134 * tfactors.T9i + -98.5176 * tfactors.T913i + 171.207 * tfactors.T913 + -14.3839 * tfactors.T9 + 0.960708 * tfactors.T953 + -60.4936 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.5134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.5176 * tfactors.T943i + (1.0/3.0) * 171.207 * tfactors.T923i + -14.3839 + (5.0/3.0) * 0.960708 * tfactors.T923 + -60.4936 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5409,7 +6296,7 @@ void rate_S35_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S36_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S36_to_n_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 --> n + S35 @@ -5424,9 +6311,13 @@ void rate_S36_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.1077 + -114.757 * tfactors.T9i + -2.51293 * tfactors.T913 + 0.668068 * tfactors.T9 + -0.0786735 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.757 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.51293 * tfactors.T923i + 0.668068 + (5.0/3.0) * -0.0786735 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5441,7 +6332,7 @@ void rate_S36_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_S36_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_S36_to_He4_Si32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 --> He4 + Si32 @@ -5456,9 +6347,13 @@ void rate_S36_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -128.015 + -104.996 * tfactors.T9i + -232.306 * tfactors.T913i + 393.438 * tfactors.T913 + -25.2071 * tfactors.T9 + 1.4457 * tfactors.T953 + -169.971 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 104.996 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -232.306 * tfactors.T943i + (1.0/3.0) * 393.438 * tfactors.T923i + -25.2071 + (5.0/3.0) * 1.4457 * tfactors.T923 + -169.971 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5473,7 +6368,7 @@ void rate_S36_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 --> p + S32 @@ -5488,9 +6383,13 @@ void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 91.6078 + -29.4248 * tfactors.T9i + -33.7204 * tfactors.T913i + -32.7355 * tfactors.T913 + 3.92526 * tfactors.T9 + -0.250479 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.4248 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.7204 * tfactors.T943i + (1.0/3.0) * -32.7355 * tfactors.T923i + 3.92526 + (5.0/3.0) * -0.250479 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5505,9 +6404,13 @@ void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 74.7432 + -26.4211 * tfactors.T9i + -29.7741 * tfactors.T913i + -87.4473 * tfactors.T913 + 182.189 * tfactors.T9 + -128.625 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.4211 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.7741 * tfactors.T943i + (1.0/3.0) * -87.4473 * tfactors.T923i + 182.189 + (5.0/3.0) * -128.625 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5521,8 +6424,12 @@ void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // il10r ln_set_rate = -4.96497 + -27.2952 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.2952 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5537,7 +6444,7 @@ void rate_Cl33_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl33_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl33_to_He4_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 --> He4 + P29 @@ -5552,9 +6459,13 @@ void rate_Cl33_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 66.203 + -75.1475 * tfactors.T9i + -62.3802 * tfactors.T913i + 0.593062 * tfactors.T913 + -1.14226 * tfactors.T9 + 0.0934776 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.1475 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.3802 * tfactors.T943i + (1.0/3.0) * 0.593062 * tfactors.T923i + -1.14226 + (5.0/3.0) * 0.0934776 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5569,7 +6480,7 @@ void rate_Cl33_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl34_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl34_to_n_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 --> n + Cl33 @@ -5584,9 +6495,13 @@ void rate_Cl34_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.1968 + -133.541 * tfactors.T9i + 0.921411 * tfactors.T913 + -0.0823764 * tfactors.T9 + 0.000852746 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 133.541 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.921411 * tfactors.T923i + -0.0823764 + (5.0/3.0) * 0.000852746 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5601,7 +6516,7 @@ void rate_Cl34_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl34_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl34_to_p_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 --> p + S33 @@ -5616,9 +6531,13 @@ void rate_Cl34_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 61.5381 + -59.679 * tfactors.T9i + -26.777 * tfactors.T913i + -5.96882 * tfactors.T913 + -1.0706 * tfactors.T9 + 0.19692 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.679 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.777 * tfactors.T943i + (1.0/3.0) * -5.96882 * tfactors.T923i + -1.0706 + (5.0/3.0) * 0.19692 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5633,7 +6552,7 @@ void rate_Cl34_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl34_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl34_to_He4_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 --> He4 + P30 @@ -5648,9 +6567,13 @@ void rate_Cl34_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 71.335 + -77.3338 * tfactors.T9i + -62.4643 * tfactors.T913i + -3.19028 * tfactors.T913 + -0.832633 * tfactors.T9 + 0.0987525 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.3338 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.4643 * tfactors.T943i + (1.0/3.0) * -3.19028 * tfactors.T923i + -0.832633 + (5.0/3.0) * 0.0987525 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5665,7 +6588,7 @@ void rate_Cl34_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl35_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl35_to_n_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 --> n + Cl34 @@ -5680,9 +6603,13 @@ void rate_Cl35_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.9299 + -146.74 * tfactors.T9i + 0.990222 * tfactors.T913 + -0.146686 * tfactors.T9 + 0.00560251 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 146.74 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.990222 * tfactors.T923i + -0.146686 + (5.0/3.0) * 0.00560251 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5697,7 +6624,7 @@ void rate_Cl35_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 --> p + S34 @@ -5711,8 +6638,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 22.7104 + -77.1013 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.1013 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5727,9 +6658,13 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -37.7488 + -101.622 * tfactors.T9i + 454.53 * tfactors.T913i + -375.557 * tfactors.T913 + 12.6533 * tfactors.T9 + -0.408677 * tfactors.T953 + 246.618 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.622 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 454.53 * tfactors.T943i + (1.0/3.0) * -375.557 * tfactors.T923i + 12.6533 + (5.0/3.0) * -0.408677 * tfactors.T923 + 246.618 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5743,8 +6678,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 14.5754 + -75.9594 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.9594 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5758,8 +6697,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 30.5303 + -79.6891 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.6891 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5773,8 +6716,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 7.39781 + -75.3374 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.3374 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5788,8 +6735,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 29.2773 + -79.0392 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.0392 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5803,8 +6754,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 4.33927 + -75.1053 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.1053 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5818,8 +6773,12 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // se19r ln_set_rate = 28.0819 + -78.5751 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.5751 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5834,7 +6793,7 @@ void rate_Cl35_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl35_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl35_to_He4_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 --> He4 + P31 @@ -5849,9 +6808,13 @@ void rate_Cl35_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 74.6679 + -81.2033 * tfactors.T9i + -62.5433 * tfactors.T913i + -2.95026 * tfactors.T913 + -0.89652 * tfactors.T9 + 0.0774126 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 81.2033 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.5433 * tfactors.T943i + (1.0/3.0) * -2.95026 * tfactors.T923i + -0.89652 + (5.0/3.0) * 0.0774126 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5866,7 +6829,7 @@ void rate_Cl35_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl36_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl36_to_n_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 --> n + Cl35 @@ -5881,9 +6844,13 @@ void rate_Cl36_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 26.2181 + -99.453 * tfactors.T9i + -11.2145 * tfactors.T913i + 23.5701 * tfactors.T913 + -1.44059 * tfactors.T9 + 0.0755834 * tfactors.T953 + -8.8832 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.2145 * tfactors.T943i + (1.0/3.0) * 23.5701 * tfactors.T923i + -1.44059 + (5.0/3.0) * 0.0755834 * tfactors.T923 + -8.8832 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5898,7 +6865,7 @@ void rate_Cl36_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl36_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl36_to_p_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 --> p + S35 @@ -5913,9 +6880,13 @@ void rate_Cl36_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.5526 + -92.4237 * tfactors.T9i + -26.7922 * tfactors.T913i + -1.83516 * tfactors.T913 + -2.03932 * tfactors.T9 + 0.322305 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.4237 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.7922 * tfactors.T943i + (1.0/3.0) * -1.83516 * tfactors.T923i + -2.03932 + (5.0/3.0) * 0.322305 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5930,7 +6901,7 @@ void rate_Cl36_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl36_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl36_to_He4_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 --> He4 + P32 @@ -5945,9 +6916,13 @@ void rate_Cl36_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -95.0744 + -90.1599 * tfactors.T9i + -158.272 * tfactors.T913i + 281.836 * tfactors.T913 + -20.652 * tfactors.T9 + 1.28543 * tfactors.T953 + -111.225 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.1599 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -158.272 * tfactors.T943i + (1.0/3.0) * 281.836 * tfactors.T923i + -20.652 + (5.0/3.0) * 1.28543 * tfactors.T923 + -111.225 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5962,7 +6937,7 @@ void rate_Cl36_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl37_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl37_to_n_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 --> n + Cl36 @@ -5977,9 +6952,13 @@ void rate_Cl37_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.6282 + -119.659 * tfactors.T9i + -0.17256 * tfactors.T913i + -0.577904 * tfactors.T913 + 0.229273 * tfactors.T9 + -0.0412624 * tfactors.T953 + 1.28554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 119.659 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.17256 * tfactors.T943i + (1.0/3.0) * -0.577904 * tfactors.T923i + 0.229273 + (5.0/3.0) * -0.0412624 * tfactors.T923 + 1.28554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5994,7 +6973,7 @@ void rate_Cl37_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl37_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl37_to_p_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 --> p + S36 @@ -6009,9 +6988,13 @@ void rate_Cl37_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 56.2542 + -97.3203 * tfactors.T9i + -26.7991 * tfactors.T913i + 0.0770118 * tfactors.T913 + -1.71514 * tfactors.T9 + 0.205981 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 97.3203 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.7991 * tfactors.T943i + (1.0/3.0) * 0.0770118 * tfactors.T923i + -1.71514 + (5.0/3.0) * 0.205981 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6026,7 +7009,7 @@ void rate_Cl37_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cl37_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cl37_to_He4_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 --> He4 + P33 @@ -6041,9 +7024,13 @@ void rate_Cl37_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 75.154 + -94.4688 * tfactors.T9i + 21.2001 * tfactors.T913i + -84.0086 * tfactors.T913 + 1.39426 * tfactors.T9 + 0.0896178 * tfactors.T953 + 49.3178 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.4688 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.2001 * tfactors.T943i + (1.0/3.0) * -84.0086 * tfactors.T923i + 1.39426 + (5.0/3.0) * 0.0896178 * tfactors.T923 + 49.3178 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6058,7 +7045,7 @@ void rate_Cl37_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 --> p + Cl35 @@ -6073,9 +7060,13 @@ void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2028 + -102.37 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.37 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6089,8 +7080,12 @@ void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = 16.0169 + -100.729 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.729 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6104,8 +7099,12 @@ void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // il10r ln_set_rate = -17.4751 + -99.2838 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.2838 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6120,9 +7119,13 @@ void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.7366 + -98.7191 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.7191 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6137,7 +7140,7 @@ void rate_Ar36_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar36_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar36_to_He4_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 --> He4 + S32 @@ -6152,9 +7155,13 @@ void rate_Ar36_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 73.8164 + -77.0627 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.0627 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6169,7 +7176,7 @@ void rate_Ar36_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar37_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar37_to_n_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 --> n + Ar36 @@ -6184,9 +7191,13 @@ void rate_Ar37_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.2933 + -101.941 * tfactors.T9i + -3.1764 * tfactors.T913i + 5.13191 * tfactors.T913 + -0.00639688 * tfactors.T9 + -0.0292833 * tfactors.T953 + -1.24683 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.941 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.1764 * tfactors.T943i + (1.0/3.0) * 5.13191 * tfactors.T923i + -0.00639688 + (5.0/3.0) * -0.0292833 * tfactors.T923 + -1.24683 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6201,7 +7212,7 @@ void rate_Ar37_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar37_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar37_to_p_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 --> p + Cl36 @@ -6216,9 +7227,13 @@ void rate_Ar37_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.9101 + -101.131 * tfactors.T9i + -27.9044 * tfactors.T913i + -0.481331 * tfactors.T913 + -1.50793 * tfactors.T9 + 0.182531 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.131 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.9044 * tfactors.T943i + (1.0/3.0) * -0.481331 * tfactors.T923i + -1.50793 + (5.0/3.0) * 0.182531 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6233,7 +7248,7 @@ void rate_Ar37_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar37_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar37_to_He4_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 --> He4 + S33 @@ -6248,9 +7263,13 @@ void rate_Ar37_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 74.852 + -78.7549 * tfactors.T9i + -65.4446 * tfactors.T913i + 3.59607 * tfactors.T913 + -3.40501 * tfactors.T9 + 0.363961 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.7549 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.4446 * tfactors.T943i + (1.0/3.0) * 3.59607 * tfactors.T923i + -3.40501 + (5.0/3.0) * 0.363961 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6265,7 +7284,7 @@ void rate_Ar37_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar38_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar38_to_n_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 --> n + Ar37 @@ -6280,9 +7299,13 @@ void rate_Ar38_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.8454 + -137.376 * tfactors.T9i + -0.825362 * tfactors.T913 + 0.336634 * tfactors.T9 + -0.0509617 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 137.376 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.825362 * tfactors.T923i + 0.336634 + (5.0/3.0) * -0.0509617 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6297,7 +7320,7 @@ void rate_Ar38_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar38_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar38_to_p_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 --> p + Cl37 @@ -6312,9 +7335,13 @@ void rate_Ar38_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.0616 + -118.853 * tfactors.T9i + -27.9113 * tfactors.T913i + 0.282028 * tfactors.T913 + -1.80122 * tfactors.T9 + 0.21751 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.853 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.9113 * tfactors.T943i + (1.0/3.0) * 0.282028 * tfactors.T923i + -1.80122 + (5.0/3.0) * 0.21751 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6329,7 +7356,7 @@ void rate_Ar38_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar38_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar38_to_He4_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 --> He4 + S34 @@ -6344,9 +7371,13 @@ void rate_Ar38_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 253.654 + -101.617 * tfactors.T9i + 635.332 * tfactors.T913i + -902.05 * tfactors.T913 + 42.5623 * tfactors.T9 + -2.08434 * tfactors.T953 + 478.85 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.617 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 635.332 * tfactors.T943i + (1.0/3.0) * -902.05 * tfactors.T923i + 42.5623 + (5.0/3.0) * -2.08434 * tfactors.T923 + 478.85 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6361,7 +7392,7 @@ void rate_Ar38_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar39_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar39_to_n_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 --> n + Ar38 @@ -6376,9 +7407,13 @@ void rate_Ar39_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.3134 + -76.6032 * tfactors.T9i + 2.38837 * tfactors.T913i + -4.76536 * tfactors.T913 + 0.701311 * tfactors.T9 + -0.0705226 * tfactors.T953 + 3.30517 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.6032 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.38837 * tfactors.T943i + (1.0/3.0) * -4.76536 * tfactors.T923i + 0.701311 + (5.0/3.0) * -0.0705226 * tfactors.T923 + 3.30517 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6393,7 +7428,7 @@ void rate_Ar39_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar39_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar39_to_He4_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 --> He4 + S35 @@ -6408,9 +7443,13 @@ void rate_Ar39_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 74.3976 + -79.1493 * tfactors.T9i + -65.58 * tfactors.T913i + 0.163229 * tfactors.T913 + -2.20138 * tfactors.T9 + 0.232938 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.1493 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.58 * tfactors.T943i + (1.0/3.0) * 0.163229 * tfactors.T923i + -2.20138 + (5.0/3.0) * 0.232938 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6425,7 +7464,7 @@ void rate_Ar39_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar40_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar40_to_n_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 --> n + Ar39 @@ -6440,9 +7479,13 @@ void rate_Ar40_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.5737 + -114.56 * tfactors.T9i + 2.09789 * tfactors.T913i + -4.77242 * tfactors.T913 + 0.64032 * tfactors.T9 + -0.0694485 * tfactors.T953 + 3.01561 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.56 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.09789 * tfactors.T943i + (1.0/3.0) * -4.77242 * tfactors.T923i + 0.64032 + (5.0/3.0) * -0.0694485 * tfactors.T923 + 3.01561 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6457,7 +7500,7 @@ void rate_Ar40_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ar40_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ar40_to_He4_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 --> He4 + S36 @@ -6472,9 +7515,13 @@ void rate_Ar40_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 74.9207 + -78.9192 * tfactors.T9i + -65.6425 * tfactors.T913i + 4.12861 * tfactors.T913 + -3.33119 * tfactors.T9 + 0.31889 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.9192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.6425 * tfactors.T943i + (1.0/3.0) * 4.12861 * tfactors.T923i + -3.33119 + (5.0/3.0) * 0.31889 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6489,7 +7536,7 @@ void rate_Ar40_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 --> p + Ar36 @@ -6503,8 +7550,12 @@ void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: // il10r ln_set_rate = 26.976 + -25.1829 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.1829 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6519,9 +7570,13 @@ void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 25.4611 + -30.5381 * tfactors.T9i + 7.50962 * tfactors.T913 + -1.68675 * tfactors.T9 + 0.189725 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.5381 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.50962 * tfactors.T923i + -1.68675 + (5.0/3.0) * 0.189725 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6536,9 +7591,13 @@ void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 43.7706 + -21.5578 * tfactors.T9i + -28.9682 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.5578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -28.9682 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6553,7 +7612,7 @@ void rate_K37_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K37_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K37_to_He4_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 --> He4 + Cl33 @@ -6568,9 +7627,13 @@ void rate_K37_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 71.6063 + -72.1995 * tfactors.T9i + -68.1442 * tfactors.T913i + -2.72746 * tfactors.T913 + -0.317537 * tfactors.T9 + 0.0162782 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 72.1995 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.1442 * tfactors.T943i + (1.0/3.0) * -2.72746 * tfactors.T923i + -0.317537 + (5.0/3.0) * 0.0162782 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6585,7 +7648,7 @@ void rate_K37_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K38_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K38_to_n_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 --> n + K37 @@ -6600,9 +7663,13 @@ void rate_K38_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 32.0874 + -140.087 * tfactors.T9i + 0.538174 * tfactors.T913 + -0.0208079 * tfactors.T9 + -0.00404949 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 140.087 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.538174 * tfactors.T923i + -0.0208079 + (5.0/3.0) * -0.00404949 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6617,7 +7684,7 @@ void rate_K38_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K38_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K38_to_p_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 --> p + Ar37 @@ -6632,9 +7699,13 @@ void rate_K38_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 60.8316 + -59.6703 * tfactors.T9i + -28.9954 * tfactors.T913i + -5.57966 * tfactors.T913 + -1.27516 * tfactors.T9 + 0.217568 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.6703 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -28.9954 * tfactors.T943i + (1.0/3.0) * -5.57966 * tfactors.T923i + -1.27516 + (5.0/3.0) * 0.217568 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6649,7 +7720,7 @@ void rate_K38_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K38_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K38_to_He4_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 --> He4 + Cl34 @@ -6664,9 +7735,13 @@ void rate_K38_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 70.9382 + -78.7462 * tfactors.T9i + -68.2165 * tfactors.T913i + -2.18792 * tfactors.T913 + -1.25322 * tfactors.T9 + 0.140901 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.7462 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.2165 * tfactors.T943i + (1.0/3.0) * -2.18792 * tfactors.T923i + -1.25322 + (5.0/3.0) * 0.140901 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6681,7 +7756,7 @@ void rate_K38_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K39_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K39_to_n_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 --> n + K38 @@ -6696,9 +7771,13 @@ void rate_K39_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 37.986 + -151.759 * tfactors.T9i + -0.161985 * tfactors.T913 + 0.187817 * tfactors.T9 + -0.0320464 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 151.759 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.161985 * tfactors.T923i + 0.187817 + (5.0/3.0) * -0.0320464 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6713,7 +7792,7 @@ void rate_K39_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K39_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K39_to_p_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 --> p + Ar38 @@ -6728,9 +7807,13 @@ void rate_K39_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.5639 + -74.0533 * tfactors.T9i + -29.0021 * tfactors.T913i + -0.525968 * tfactors.T913 + -1.94216 * tfactors.T9 + 0.267346 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.0533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.0021 * tfactors.T943i + (1.0/3.0) * -0.525968 * tfactors.T923i + -1.94216 + (5.0/3.0) * 0.267346 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6745,7 +7828,7 @@ void rate_K39_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K39_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K39_to_He4_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 --> He4 + Cl35 @@ -6760,9 +7843,13 @@ void rate_K39_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 77.6477 + -83.7658 * tfactors.T9i + -68.2848 * tfactors.T913i + 0.0178545 * tfactors.T913 + -2.06783 * tfactors.T9 + 0.199659 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 83.7658 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.2848 * tfactors.T943i + (1.0/3.0) * 0.0178545 * tfactors.T923i + -2.06783 + (5.0/3.0) * 0.199659 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6777,7 +7864,7 @@ void rate_K39_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K40_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K40_to_n_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 --> n + K39 @@ -6792,9 +7879,13 @@ void rate_K40_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.473 + -90.4754 * tfactors.T9i + -2.2227 * tfactors.T913i + -1.88579 * tfactors.T913 + 0.714904 * tfactors.T9 + -0.0774902 * tfactors.T953 + 0.640527 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.4754 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.2227 * tfactors.T943i + (1.0/3.0) * -1.88579 * tfactors.T923i + 0.714904 + (5.0/3.0) * -0.0774902 * tfactors.T923 + 0.640527 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6809,7 +7900,7 @@ void rate_K40_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K40_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K40_to_p_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 --> p + Ar39 @@ -6824,9 +7915,13 @@ void rate_K40_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 59.5373 + -87.9872 * tfactors.T9i + -29.0085 * tfactors.T913i + -2.81753 * tfactors.T913 + -0.757962 * tfactors.T9 + 0.099462 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.9872 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.0085 * tfactors.T943i + (1.0/3.0) * -2.81753 * tfactors.T923i + -0.757962 + (5.0/3.0) * 0.099462 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6841,7 +7936,7 @@ void rate_K40_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K40_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K40_to_He4_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 --> He4 + Cl36 @@ -6856,9 +7951,13 @@ void rate_K40_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 80.0619 + -74.7128 * tfactors.T9i + -68.3499 * tfactors.T913i + -4.69433 * tfactors.T913 + -1.24812 * tfactors.T9 + 0.169306 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.7128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.3499 * tfactors.T943i + (1.0/3.0) * -4.69433 * tfactors.T923i + -1.24812 + (5.0/3.0) * 0.169306 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6873,7 +7972,7 @@ void rate_K40_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K41_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K41_to_n_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 --> n + K40 @@ -6888,9 +7987,13 @@ void rate_K41_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.9339 + -117.19 * tfactors.T9i + 1.90527 * tfactors.T913i + -4.8523 * tfactors.T913 + 0.552061 * tfactors.T9 + -0.0570777 * tfactors.T953 + 2.96777 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.19 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.90527 * tfactors.T943i + (1.0/3.0) * -4.8523 * tfactors.T923i + 0.552061 + (5.0/3.0) * -0.0570777 * tfactors.T923 + 2.96777 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6905,7 +8008,7 @@ void rate_K41_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K41_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K41_to_p_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 --> p + Ar40 @@ -6920,9 +8023,13 @@ void rate_K41_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 56.6932 + -90.6097 * tfactors.T9i + -29.0146 * tfactors.T913i + 0.65181 * tfactors.T913 + -1.50557 * tfactors.T9 + 0.139974 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.6097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.0146 * tfactors.T943i + (1.0/3.0) * 0.65181 * tfactors.T923i + -1.50557 + (5.0/3.0) * 0.139974 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6937,7 +8044,7 @@ void rate_K41_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_K41_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_K41_to_He4_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 --> He4 + Cl37 @@ -6952,9 +8059,13 @@ void rate_K41_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 76.1843 + -72.2085 * tfactors.T9i + -68.4116 * tfactors.T913i + 3.55194 * tfactors.T913 + -2.84942 * tfactors.T9 + 0.24958 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 72.2085 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.4116 * tfactors.T943i + (1.0/3.0) * 3.55194 * tfactors.T923i + -2.84942 + (5.0/3.0) * 0.24958 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6969,7 +8080,7 @@ void rate_K41_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 --> p + K39 @@ -6984,9 +8095,13 @@ void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2786.44 + -101.871 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.871 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7001,9 +8116,13 @@ void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 613.153 + -109.213 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 109.213 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7018,9 +8137,13 @@ void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 127.306 + -98.3134 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.3134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7035,7 +8158,7 @@ void rate_Ca40_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca40_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca40_to_He4_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 --> He4 + Ar36 @@ -7050,9 +8173,13 @@ void rate_Ca40_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.2826 + -81.6916 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 81.6916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7067,7 +8194,7 @@ void rate_Ca40_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca41_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca41_to_n_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 --> n + Ca40 @@ -7082,9 +8209,13 @@ void rate_Ca41_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 24.6353 + -96.9664 * tfactors.T9i + -9.18636 * tfactors.T913i + 21.0095 * tfactors.T913 + -1.33326 * tfactors.T9 + 0.0769347 * tfactors.T953 + -7.16245 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 96.9664 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -9.18636 * tfactors.T943i + (1.0/3.0) * 21.0095 * tfactors.T923i + -1.33326 + (5.0/3.0) * 0.0769347 * tfactors.T923 + -7.16245 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7099,7 +8230,7 @@ void rate_Ca41_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca41_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca41_to_p_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 --> p + K40 @@ -7114,9 +8245,13 @@ void rate_Ca41_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.8838 + -103.182 * tfactors.T9i + -30.0795 * tfactors.T913i + 0.0447475 * tfactors.T913 + -1.69565 * tfactors.T9 + 0.20173 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.182 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 0.0447475 * tfactors.T923i + -1.69565 + (5.0/3.0) * 0.20173 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7131,7 +8266,7 @@ void rate_Ca41_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca41_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca41_to_He4_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 --> He4 + Ar37 @@ -7146,9 +8281,13 @@ void rate_Ca41_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 76.9971 + -76.764 * tfactors.T9i + -71.0688 * tfactors.T913i + 2.71847 * tfactors.T913 + -3.17333 * tfactors.T9 + 0.335323 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.764 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0688 * tfactors.T943i + (1.0/3.0) * 2.71847 * tfactors.T923i + -3.17333 + (5.0/3.0) * 0.335323 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7163,7 +8302,7 @@ void rate_Ca41_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca42_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca42_to_n_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 --> n + Ca41 @@ -7178,9 +8317,13 @@ void rate_Ca42_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.1952 + -133.264 * tfactors.T9i + 3.7037 * tfactors.T913i + -9.99246 * tfactors.T913 + 1.05894 * tfactors.T9 + -0.0978564 * tfactors.T953 + 4.93604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 133.264 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.7037 * tfactors.T943i + (1.0/3.0) * -9.99246 * tfactors.T923i + 1.05894 + (5.0/3.0) * -0.0978564 * tfactors.T923 + 4.93604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7195,7 +8338,7 @@ void rate_Ca42_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca42_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca42_to_p_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 --> p + K41 @@ -7210,9 +8353,13 @@ void rate_Ca42_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.2573 + -119.259 * tfactors.T9i + -30.08 * tfactors.T913i + 2.93877 * tfactors.T913 + 2.77388 * tfactors.T9 + -4.8284 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 119.259 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.08 * tfactors.T943i + (1.0/3.0) * 2.93877 * tfactors.T923i + 2.77388 + (5.0/3.0) * -4.8284 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7227,9 +8374,13 @@ void rate_Ca42_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 41.0777 + -131.259 * tfactors.T9i + -1.68317 * tfactors.T913 + 0.692171 * tfactors.T9 + -0.0831029 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 131.259 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.68317 * tfactors.T923i + 0.692171 + (5.0/3.0) * -0.0831029 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7244,7 +8395,7 @@ void rate_Ca42_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca42_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca42_to_He4_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 --> He4 + Ar38 @@ -7259,9 +8410,13 @@ void rate_Ca42_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.5813 + -72.6145 * tfactors.T9i + -71.1296 * tfactors.T913i + 2.75299 * tfactors.T913 + -2.43406 * tfactors.T9 + 0.199511 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 72.6145 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.1296 * tfactors.T943i + (1.0/3.0) * 2.75299 * tfactors.T923i + -2.43406 + (5.0/3.0) * 0.199511 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7276,7 +8431,7 @@ void rate_Ca42_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca43_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca43_to_n_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 --> n + Ca42 @@ -7291,9 +8446,13 @@ void rate_Ca43_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.587 + -92.0254 * tfactors.T9i + -2.75867 * tfactors.T913i + 0.860871 * tfactors.T913 + 0.583467 * tfactors.T9 + -0.094473 * tfactors.T953 + -0.09357 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.0254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.75867 * tfactors.T943i + (1.0/3.0) * 0.860871 * tfactors.T923i + 0.583467 + (5.0/3.0) * -0.094473 * tfactors.T923 + -0.09357 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7308,7 +8467,7 @@ void rate_Ca43_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca43_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca43_to_He4_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 --> He4 + Ar39 @@ -7323,9 +8482,13 @@ void rate_Ca43_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.9582 + -88.096 * tfactors.T9i + -71.1879 * tfactors.T913i + 2.58821 * tfactors.T913 + -3.67809 * tfactors.T9 + 0.431537 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.096 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.1879 * tfactors.T943i + (1.0/3.0) * 2.58821 * tfactors.T923i + -3.67809 + (5.0/3.0) * 0.431537 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7340,7 +8503,7 @@ void rate_Ca43_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca44_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca44_to_n_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 --> n + Ca43 @@ -7355,9 +8518,13 @@ void rate_Ca44_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.4384 + -129.179 * tfactors.T9i + -1.26512 * tfactors.T913i + 6.74718 * tfactors.T913 + -0.673582 * tfactors.T9 + 0.0412245 * tfactors.T953 + -0.80362 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 129.179 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.26512 * tfactors.T943i + (1.0/3.0) * 6.74718 * tfactors.T923i + -0.673582 + (5.0/3.0) * 0.0412245 * tfactors.T923 + -0.80362 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7372,7 +8539,7 @@ void rate_Ca44_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca44_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca44_to_He4_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 --> He4 + Ar40 @@ -7387,9 +8554,13 @@ void rate_Ca44_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 76.1857 + -102.74 * tfactors.T9i + -71.2432 * tfactors.T913i + 6.75101 * tfactors.T913 + -5.53183 * tfactors.T9 + 0.667023 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.74 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.2432 * tfactors.T943i + (1.0/3.0) * 6.75101 * tfactors.T923i + -5.53183 + (5.0/3.0) * 0.667023 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7404,7 +8575,7 @@ void rate_Ca44_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca45_to_n_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca45_to_n_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 --> n + Ca44 @@ -7419,9 +8590,13 @@ void rate_Ca45_to_n_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 23.6235 + -85.8488 * tfactors.T9i + -17.5809 * tfactors.T913i + 30.835 * tfactors.T913 + -1.52658 * tfactors.T9 + 0.0495163 * tfactors.T953 + -13.0794 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.8488 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -17.5809 * tfactors.T943i + (1.0/3.0) * 30.835 * tfactors.T923i + -1.52658 + (5.0/3.0) * 0.0495163 * tfactors.T923 + -13.0794 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7436,7 +8611,7 @@ void rate_Ca45_to_n_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca46_to_n_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca46_to_n_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 --> n + Ca45 @@ -7451,9 +8626,13 @@ void rate_Ca46_to_n_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 48.3638 + -120.708 * tfactors.T9i + 5.01526 * tfactors.T913i + -14.4226 * tfactors.T913 + 1.37087 * tfactors.T9 + -0.111582 * tfactors.T953 + 6.37661 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.708 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.01526 * tfactors.T943i + (1.0/3.0) * -14.4226 * tfactors.T923i + 1.37087 + (5.0/3.0) * -0.111582 * tfactors.T923 + 6.37661 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7468,7 +8647,7 @@ void rate_Ca46_to_n_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca47_to_n_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca47_to_n_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 --> n + Ca46 @@ -7483,9 +8662,13 @@ void rate_Ca47_to_n_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 20.7079 + -84.2309 * tfactors.T9i + -19.7417 * tfactors.T913i + 35.2401 * tfactors.T913 + -1.61262 * tfactors.T9 + 0.0443701 * tfactors.T953 + -15.2507 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.2309 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.7417 * tfactors.T943i + (1.0/3.0) * 35.2401 * tfactors.T923i + -1.61262 + (5.0/3.0) * 0.0443701 * tfactors.T923 + -15.2507 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7500,7 +8683,7 @@ void rate_Ca47_to_n_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ca48_to_n_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ca48_to_n_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca48 --> n + Ca47 @@ -7515,9 +8698,13 @@ void rate_Ca48_to_n_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.9752 + -115.41 * tfactors.T9i + -2.88636 * tfactors.T913 + 0.79581 * tfactors.T9 + -0.0872236 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 115.41 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.88636 * tfactors.T923i + 0.79581 + (5.0/3.0) * -0.0872236 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7532,7 +8719,7 @@ void rate_Ca48_to_n_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc43_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc43_to_p_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 --> p + Ca42 @@ -7547,9 +8734,13 @@ void rate_Sc43_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.4102 + -57.2082 * tfactors.T9i + -31.1381 * tfactors.T913i + -0.151667 * tfactors.T913 + -1.76926 * tfactors.T9 + 0.219569 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 57.2082 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1381 * tfactors.T943i + (1.0/3.0) * -0.151667 * tfactors.T923i + -1.76926 + (5.0/3.0) * 0.219569 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7564,7 +8755,7 @@ void rate_Sc43_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc43_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc43_to_He4_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 --> He4 + K39 @@ -7579,9 +8770,13 @@ void rate_Sc43_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 78.3727 + -55.7693 * tfactors.T9i + -73.8006 * tfactors.T913i + 1.87885 * tfactors.T913 + -2.75862 * tfactors.T9 + 0.279678 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.7693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.8006 * tfactors.T943i + (1.0/3.0) * 1.87885 * tfactors.T923i + -2.75862 + (5.0/3.0) * 0.279678 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7596,7 +8791,7 @@ void rate_Sc43_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc44_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc44_to_n_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 --> n + Sc43 @@ -7611,9 +8806,13 @@ void rate_Sc44_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.9046 + -112.558 * tfactors.T9i + -0.575865 * tfactors.T913 + 0.0565199 * tfactors.T9 + -0.0129886 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.558 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.575865 * tfactors.T923i + 0.0565199 + (5.0/3.0) * -0.0129886 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7628,7 +8827,7 @@ void rate_Sc44_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc44_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc44_to_p_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 --> p + Ca43 @@ -7643,9 +8842,13 @@ void rate_Sc44_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.0796 + -77.7087 * tfactors.T9i + -31.1437 * tfactors.T913i + 1.02701 * tfactors.T913 + -1.81612 * tfactors.T9 + 0.197287 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.7087 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1437 * tfactors.T943i + (1.0/3.0) * 1.02701 * tfactors.T923i + -1.81612 + (5.0/3.0) * 0.197287 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7660,7 +8863,7 @@ void rate_Sc44_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc44_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc44_to_He4_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 --> He4 + K40 @@ -7675,9 +8878,13 @@ void rate_Sc44_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 81.5063 + -77.8175 * tfactors.T9i + -73.858 * tfactors.T913i + -1.10691 * tfactors.T913 + -2.42921 * tfactors.T9 + 0.294 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.8175 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.858 * tfactors.T943i + (1.0/3.0) * -1.10691 * tfactors.T923i + -2.42921 + (5.0/3.0) * 0.294 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7692,7 +8899,7 @@ void rate_Sc44_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc45_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc45_to_n_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 --> n + Sc44 @@ -7707,9 +8914,13 @@ void rate_Sc45_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.2726 + -131.398 * tfactors.T9i + -1.31922 * tfactors.T913 + 0.167096 * tfactors.T9 + -0.0191676 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 131.398 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.31922 * tfactors.T923i + 0.167096 + (5.0/3.0) * -0.0191676 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7724,7 +8935,7 @@ void rate_Sc45_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc45_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc45_to_p_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 --> p + Ca44 @@ -7739,9 +8950,13 @@ void rate_Sc45_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 56.5963 + -79.935 * tfactors.T9i + -31.1491 * tfactors.T913i + 0.402181 * tfactors.T913 + -1.30287 * tfactors.T9 + 0.135535 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.935 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1491 * tfactors.T943i + (1.0/3.0) * 0.402181 * tfactors.T923i + -1.30287 + (5.0/3.0) * 0.135535 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7756,7 +8971,7 @@ void rate_Sc45_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc45_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc45_to_He4_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 --> He4 + K41 @@ -7771,9 +8986,13 @@ void rate_Sc45_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 79.0608 + -92.0658 * tfactors.T9i + -73.9127 * tfactors.T913i + 0.81435 * tfactors.T913 + -2.90813 * tfactors.T9 + 0.335176 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.0658 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.9127 * tfactors.T943i + (1.0/3.0) * 0.81435 * tfactors.T923i + -2.90813 + (5.0/3.0) * 0.335176 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7788,7 +9007,7 @@ void rate_Sc45_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc46_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc46_to_n_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 --> n + Sc45 @@ -7803,9 +9022,13 @@ void rate_Sc46_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.1819 + -101.612 * tfactors.T9i + -6.18502 * tfactors.T913i + 16.5806 * tfactors.T913 + -1.45949 * tfactors.T9 + 0.0995696 * tfactors.T953 + -5.03696 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.612 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.18502 * tfactors.T943i + (1.0/3.0) * 16.5806 * tfactors.T923i + -1.45949 + (5.0/3.0) * 0.0995696 * tfactors.T923 + -5.03696 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7820,7 +9043,7 @@ void rate_Sc46_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc46_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc46_to_p_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 --> p + Ca45 @@ -7835,9 +9058,13 @@ void rate_Sc46_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.541 + -95.5531 * tfactors.T9i + -31.1543 * tfactors.T913i + -6.97397 * tfactors.T913 + -0.344025 * tfactors.T9 + 0.128258 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.5531 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1543 * tfactors.T943i + (1.0/3.0) * -6.97397 * tfactors.T923i + -0.344025 + (5.0/3.0) * 0.128258 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7852,7 +9079,7 @@ void rate_Sc46_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc47_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc47_to_n_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 --> n + Sc46 @@ -7867,9 +9094,13 @@ void rate_Sc47_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.5248 + -123.539 * tfactors.T9i + 1.157 * tfactors.T913i + -3.39674 * tfactors.T913 + 0.179575 * tfactors.T9 + -0.00780135 * tfactors.T953 + 2.28349 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.157 * tfactors.T943i + (1.0/3.0) * -3.39674 * tfactors.T923i + 0.179575 + (5.0/3.0) * -0.00780135 * tfactors.T923 + 2.28349 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7884,7 +9115,7 @@ void rate_Sc47_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc47_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc47_to_p_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 --> p + Ca46 @@ -7899,9 +9130,13 @@ void rate_Sc47_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 55.9566 + -98.4759 * tfactors.T9i + -31.1593 * tfactors.T913i + 0.979497 * tfactors.T913 + -1.14947 * tfactors.T9 + 0.064347 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.4759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1593 * tfactors.T943i + (1.0/3.0) * 0.979497 * tfactors.T923i + -1.14947 + (5.0/3.0) * 0.064347 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7916,7 +9151,7 @@ void rate_Sc47_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc48_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc48_to_n_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 --> n + Sc47 @@ -7931,9 +9166,13 @@ void rate_Sc48_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.5173 + -95.5526 * tfactors.T9i + 0.297987 * tfactors.T913i + 0.438296 * tfactors.T913 + 0.0468739 * tfactors.T9 + -0.0255895 * tfactors.T953 + 1.27272 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.5526 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.297987 * tfactors.T943i + (1.0/3.0) * 0.438296 * tfactors.T923i + 0.0468739 + (5.0/3.0) * -0.0255895 * tfactors.T923 + 1.27272 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7948,7 +9187,7 @@ void rate_Sc48_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc48_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc48_to_p_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 --> p + Ca47 @@ -7963,9 +9202,13 @@ void rate_Sc48_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 52.7642 + -109.604 * tfactors.T9i + -31.164 * tfactors.T913i + -2.03245 * tfactors.T913 + 0.0494826 * tfactors.T9 + 0.00201831 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 109.604 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.164 * tfactors.T943i + (1.0/3.0) * -2.03245 * tfactors.T923i + 0.0494826 + (5.0/3.0) * 0.00201831 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7980,7 +9223,7 @@ void rate_Sc48_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc49_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc49_to_n_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 --> n + Sc48 @@ -7995,9 +9238,13 @@ void rate_Sc49_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.8913 + -117.592 * tfactors.T9i + 2.32858 * tfactors.T913i + -6.44325 * tfactors.T913 + 0.608389 * tfactors.T9 + -0.0534156 * tfactors.T953 + 3.63196 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.592 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.32858 * tfactors.T943i + (1.0/3.0) * -6.44325 * tfactors.T923i + 0.608389 + (5.0/3.0) * -0.0534156 * tfactors.T923 + 3.63196 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8012,7 +9259,7 @@ void rate_Sc49_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Sc49_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Sc49_to_p_Ca48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 --> p + Ca48 @@ -8027,9 +9274,13 @@ void rate_Sc49_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 55.4528 + -111.719 * tfactors.T9i + -31.1685 * tfactors.T913i + 2.20987 * tfactors.T913 + -2.24347 * tfactors.T9 + 0.239302 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 111.719 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1685 * tfactors.T943i + (1.0/3.0) * 2.20987 * tfactors.T923i + -2.24347 + (5.0/3.0) * 0.239302 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8044,7 +9295,7 @@ void rate_Sc49_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti44_to_p_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 --> p + Sc43 @@ -8059,9 +9310,13 @@ void rate_Ti44_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.5939 + -100.373 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.373 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8076,7 +9331,7 @@ void rate_Ti44_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti44_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti44_to_He4_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 --> He4 + Ca40 @@ -8091,9 +9346,13 @@ void rate_Ti44_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 78.6991 + -59.4974 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.4974 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8108,7 +9367,7 @@ void rate_Ti44_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti45_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti45_to_n_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 --> n + Ti44 @@ -8123,9 +9382,13 @@ void rate_Ti45_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -110.575 * tfactors.T9i + 1.01203 * tfactors.T913 + -0.201174 * tfactors.T9 + 0.00360954 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.01203 * tfactors.T923i + -0.201174 + (5.0/3.0) * 0.00360954 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8140,7 +9403,7 @@ void rate_Ti45_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti45_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti45_to_p_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 --> p + Sc44 @@ -8155,9 +9418,13 @@ void rate_Ti45_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.3467 + -98.3901 * tfactors.T9i + -32.179 * tfactors.T913i + 1.40668 * tfactors.T913 + -2.02828 * tfactors.T9 + 0.230326 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.3901 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.179 * tfactors.T943i + (1.0/3.0) * 1.40668 * tfactors.T923i + -2.02828 + (5.0/3.0) * 0.230326 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8172,7 +9439,7 @@ void rate_Ti45_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti45_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti45_to_He4_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 --> He4 + Ca41 @@ -8187,9 +9454,13 @@ void rate_Ti45_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 79.5829 + -73.0258 * tfactors.T9i + -76.4839 * tfactors.T913i + 3.03748 * tfactors.T913 + -2.59814 * tfactors.T9 + 0.210582 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.0258 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4839 * tfactors.T943i + (1.0/3.0) * 3.03748 * tfactors.T923i + -2.59814 + (5.0/3.0) * 0.210582 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8204,7 +9475,7 @@ void rate_Ti45_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti46_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti46_to_n_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 --> n + Ti45 @@ -8219,9 +9490,13 @@ void rate_Ti46_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.8852 + -153.052 * tfactors.T9i + -1.55633 * tfactors.T913 + 0.300783 * tfactors.T9 + -0.0373696 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 153.052 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.55633 * tfactors.T923i + 0.300783 + (5.0/3.0) * -0.0373696 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8236,7 +9511,7 @@ void rate_Ti46_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti46_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti46_to_p_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 --> p + Sc45 @@ -8251,9 +9526,13 @@ void rate_Ti46_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.5905 + -120.044 * tfactors.T9i + -32.1843 * tfactors.T913i + 1.38642 * tfactors.T913 + -1.64811 * tfactors.T9 + 0.157323 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.044 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1843 * tfactors.T943i + (1.0/3.0) * 1.38642 * tfactors.T923i + -1.64811 + (5.0/3.0) * 0.157323 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8268,7 +9547,7 @@ void rate_Ti46_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti46_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti46_to_He4_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 --> He4 + Ca42 @@ -8283,9 +9562,13 @@ void rate_Ti46_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 79.7886 + -92.8507 * tfactors.T9i + -76.5379 * tfactors.T913i + 2.80099 * tfactors.T913 + -2.34788 * tfactors.T9 + 0.150014 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.8507 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.5379 * tfactors.T943i + (1.0/3.0) * 2.80099 * tfactors.T923i + -2.34788 + (5.0/3.0) * 0.150014 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8300,7 +9583,7 @@ void rate_Ti46_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti47_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti47_to_n_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 --> n + Ti46 @@ -8315,9 +9598,13 @@ void rate_Ti47_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.1579 + -102.963 * tfactors.T9i + -7.30817 * tfactors.T913i + 10.713 * tfactors.T913 + -0.537251 * tfactors.T9 + 0.0187304 * tfactors.T953 + -3.88893 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.963 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.30817 * tfactors.T943i + (1.0/3.0) * 10.713 * tfactors.T923i + -0.537251 + (5.0/3.0) * 0.0187304 * tfactors.T923 + -3.88893 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8332,7 +9619,7 @@ void rate_Ti47_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti47_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti47_to_p_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 --> p + Sc46 @@ -8347,9 +9634,13 @@ void rate_Ti47_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 158.586 + -126.911 * tfactors.T9i + 212.079 * tfactors.T913i + -358.599 * tfactors.T913 + 19.2793 * tfactors.T9 + -1.01913 * tfactors.T953 + 177.754 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 126.911 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 212.079 * tfactors.T943i + (1.0/3.0) * -358.599 * tfactors.T923i + 19.2793 + (5.0/3.0) * -1.01913 * tfactors.T923 + 177.754 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8364,7 +9655,7 @@ void rate_Ti47_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti47_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti47_to_He4_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 --> He4 + Ca43 @@ -8379,9 +9670,13 @@ void rate_Ti47_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.7166 + -103.845 * tfactors.T9i + -76.5897 * tfactors.T913i + -7.46117 * tfactors.T913 + -0.574977 * tfactors.T9 + 0.115742 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.845 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.5897 * tfactors.T943i + (1.0/3.0) * -7.46117 * tfactors.T923i + -0.574977 + (5.0/3.0) * 0.115742 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8396,7 +9691,7 @@ void rate_Ti47_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti48_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti48_to_n_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 --> n + Ti47 @@ -8411,9 +9706,13 @@ void rate_Ti48_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.3394 + -134.911 * tfactors.T9i + -2.34945 * tfactors.T913i + 3.2238 * tfactors.T913 + -0.0455487 * tfactors.T9 + -0.0153771 * tfactors.T953 + -0.60785 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 134.911 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.34945 * tfactors.T943i + (1.0/3.0) * 3.2238 * tfactors.T923i + -0.0455487 + (5.0/3.0) * -0.0153771 * tfactors.T923 + -0.60785 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8428,7 +9727,7 @@ void rate_Ti48_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti48_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti48_to_p_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 --> p + Sc47 @@ -8443,9 +9742,13 @@ void rate_Ti48_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 76.1705 + -137.87 * tfactors.T9i + 155.189 * tfactors.T913i + -211.783 * tfactors.T913 + 9.70286 * tfactors.T9 + -0.48757 * tfactors.T953 + 118.807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 137.87 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 155.189 * tfactors.T943i + (1.0/3.0) * -211.783 * tfactors.T923i + 9.70286 + (5.0/3.0) * -0.48757 * tfactors.T923 + 118.807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8460,7 +9763,7 @@ void rate_Ti48_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti48_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti48_to_He4_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 --> He4 + Ca44 @@ -8475,9 +9778,13 @@ void rate_Ti48_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 80.8784 + -109.595 * tfactors.T9i + -76.6391 * tfactors.T913i + 2.70825 * tfactors.T913 + -4.48808 * tfactors.T9 + 0.582872 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 109.595 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.6391 * tfactors.T943i + (1.0/3.0) * 2.70825 * tfactors.T923i + -4.48808 + (5.0/3.0) * 0.582872 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8492,7 +9799,7 @@ void rate_Ti48_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti49_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti49_to_n_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 --> n + Ti48 @@ -8507,9 +9814,13 @@ void rate_Ti49_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 4.8075 + -94.1668 * tfactors.T9i + -32.4895 * tfactors.T913i + 67.9234 * tfactors.T913 + -4.27126 * tfactors.T9 + 0.230364 * tfactors.T953 + -27.9521 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.1668 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.4895 * tfactors.T943i + (1.0/3.0) * 67.9234 * tfactors.T923i + -4.27126 + (5.0/3.0) * 0.230364 * tfactors.T923 + -27.9521 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8524,7 +9835,7 @@ void rate_Ti49_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti49_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti49_to_p_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 --> p + Sc48 @@ -8539,9 +9850,13 @@ void rate_Ti49_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 125.332 + -137.251 * tfactors.T9i + 198.826 * tfactors.T913i + -313.844 * tfactors.T913 + 17.0251 * tfactors.T9 + -0.945704 * tfactors.T953 + 160.904 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 137.251 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 198.826 * tfactors.T943i + (1.0/3.0) * -313.844 * tfactors.T923i + 17.0251 + (5.0/3.0) * -0.945704 * tfactors.T923 + 160.904 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8556,7 +9871,7 @@ void rate_Ti49_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti49_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti49_to_He4_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 --> He4 + Ca45 @@ -8571,9 +9886,13 @@ void rate_Ti49_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 82.6247 + -118.039 * tfactors.T9i + -76.6866 * tfactors.T913i + -9.95306 * tfactors.T913 + 1.72367 * tfactors.T9 + -0.226004 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.039 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.6866 * tfactors.T943i + (1.0/3.0) * -9.95306 * tfactors.T923i + 1.72367 + (5.0/3.0) * -0.226004 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8588,7 +9907,7 @@ void rate_Ti49_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti50_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti50_to_n_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 --> n + Ti49 @@ -8603,9 +9922,13 @@ void rate_Ti50_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.3875 + -126.916 * tfactors.T9i + -2.8384 * tfactors.T913i + 4.10103 * tfactors.T913 + -0.0325714 * tfactors.T9 + -0.0305035 * tfactors.T953 + -0.8012 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 126.916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.8384 * tfactors.T943i + (1.0/3.0) * 4.10103 * tfactors.T923i + -0.0325714 + (5.0/3.0) * -0.0305035 * tfactors.T923 + -0.8012 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8620,7 +9943,7 @@ void rate_Ti50_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti50_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti50_to_p_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 --> p + Sc49 @@ -8635,9 +9958,13 @@ void rate_Ti50_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 132.698 + -146.58 * tfactors.T9i + 195.561 * tfactors.T913i + -317.373 * tfactors.T913 + 17.5352 * tfactors.T9 + -0.999861 * tfactors.T953 + 160.884 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 146.58 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 195.561 * tfactors.T943i + (1.0/3.0) * -317.373 * tfactors.T923i + 17.5352 + (5.0/3.0) * -0.999861 * tfactors.T923 + 160.884 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8652,7 +9979,7 @@ void rate_Ti50_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti50_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti50_to_He4_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 --> He4 + Ca46 @@ -8667,9 +9994,13 @@ void rate_Ti50_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 87.8722 + -124.36 * tfactors.T9i + -76.732 * tfactors.T913i + -13.6546 * tfactors.T913 + 1.61796 * tfactors.T9 + -0.159 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 124.36 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.732 * tfactors.T943i + (1.0/3.0) * -13.6546 * tfactors.T923i + 1.61796 + (5.0/3.0) * -0.159 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8684,7 +10015,7 @@ void rate_Ti50_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti51_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti51_to_n_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 --> n + Ti50 @@ -8699,9 +10030,13 @@ void rate_Ti51_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.6945 + -73.9572 * tfactors.T9i + 7.07296 * tfactors.T913i + -37.8514 * tfactors.T913 + 4.03187 * tfactors.T9 + -0.339274 * tfactors.T953 + 12.9094 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.9572 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.07296 * tfactors.T943i + (1.0/3.0) * -37.8514 * tfactors.T923i + 4.03187 + (5.0/3.0) * -0.339274 * tfactors.T923 + 12.9094 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8716,7 +10051,7 @@ void rate_Ti51_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ti51_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ti51_to_He4_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 --> He4 + Ca47 @@ -8731,9 +10066,13 @@ void rate_Ti51_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 76.3409 + -113.871 * tfactors.T9i + -76.7758 * tfactors.T913i + -1.97823 * tfactors.T913 + -0.552991 * tfactors.T9 + 0.0318371 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 113.871 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.7758 * tfactors.T943i + (1.0/3.0) * -1.97823 * tfactors.T923i + -0.552991 + (5.0/3.0) * 0.0318371 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8748,7 +10087,7 @@ void rate_Ti51_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V46_to_p_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V46_to_p_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 --> p + Ti45 @@ -8763,9 +10102,13 @@ void rate_V46_to_p_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 63.199 + -62.1566 * tfactors.T9i + -33.1981 * tfactors.T913i + -1.66837 * tfactors.T913 + -2.50285 * tfactors.T9 + 0.349152 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 62.1566 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.1981 * tfactors.T943i + (1.0/3.0) * -1.66837 * tfactors.T923i + -2.50285 + (5.0/3.0) * 0.349152 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8780,7 +10123,7 @@ void rate_V46_to_p_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V47_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V47_to_n_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 --> n + V46 @@ -8795,9 +10138,13 @@ void rate_V47_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 38.0277 + -150.863 * tfactors.T9i + -0.692996 * tfactors.T913 + 0.316873 * tfactors.T9 + -0.0417235 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 150.863 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.692996 * tfactors.T923i + 0.316873 + (5.0/3.0) * -0.0417235 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8812,7 +10159,7 @@ void rate_V47_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V47_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V47_to_p_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 --> p + Ti46 @@ -8827,9 +10174,13 @@ void rate_V47_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.0555 + -59.9674 * tfactors.T9i + -33.2034 * tfactors.T913i + 0.505619 * tfactors.T913 + -1.73654 * tfactors.T9 + 0.207342 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.9674 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.2034 * tfactors.T943i + (1.0/3.0) * 0.505619 * tfactors.T923i + -1.73654 + (5.0/3.0) * 0.207342 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8844,7 +10195,7 @@ void rate_V47_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V47_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V47_to_He4_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 --> He4 + Sc43 @@ -8859,9 +10210,13 @@ void rate_V47_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 84.6713 + -95.6099 * tfactors.T9i + -79.122 * tfactors.T913i + -7.07006 * tfactors.T913 + 0.424183 * tfactors.T9 + -0.0665231 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.6099 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.122 * tfactors.T943i + (1.0/3.0) * -7.07006 * tfactors.T923i + 0.424183 + (5.0/3.0) * -0.0665231 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8876,7 +10231,7 @@ void rate_V47_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V48_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V48_to_n_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 --> n + V47 @@ -8891,9 +10246,13 @@ void rate_V48_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.4146 + -122.366 * tfactors.T9i + -2.40159 * tfactors.T913 + 0.594573 * tfactors.T9 + -0.0682896 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 122.366 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.40159 * tfactors.T923i + 0.594573 + (5.0/3.0) * -0.0682896 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8908,7 +10267,7 @@ void rate_V48_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V48_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V48_to_p_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 --> p + Ti47 @@ -8923,9 +10282,13 @@ void rate_V48_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.4638 + -79.2815 * tfactors.T9i + -33.2084 * tfactors.T913i + 1.06738 * tfactors.T913 + -1.55342 * tfactors.T9 + 0.159225 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.2815 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.2084 * tfactors.T943i + (1.0/3.0) * 1.06738 * tfactors.T923i + -1.55342 + (5.0/3.0) * 0.159225 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8940,7 +10303,7 @@ void rate_V48_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V48_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V48_to_He4_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 --> He4 + Sc44 @@ -8955,9 +10318,13 @@ void rate_V48_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 81.006 + -105.418 * tfactors.T9i + -79.1731 * tfactors.T913i + -4.22583 * tfactors.T913 + -0.427863 * tfactors.T9 + 0.0235817 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 105.418 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.1731 * tfactors.T943i + (1.0/3.0) * -4.22583 * tfactors.T923i + -0.427863 + (5.0/3.0) * 0.0235817 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -8972,7 +10339,7 @@ void rate_V48_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V49_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V49_to_n_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 --> n + V48 @@ -8987,9 +10354,13 @@ void rate_V49_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.6761 + -134.066 * tfactors.T9i + -0.917026 * tfactors.T913 + -0.109162 * tfactors.T9 + 0.0127488 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 134.066 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.917026 * tfactors.T923i + -0.109162 + (5.0/3.0) * 0.0127488 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9004,7 +10375,7 @@ void rate_V49_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V49_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V49_to_p_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 --> p + Ti48 @@ -9019,9 +10390,13 @@ void rate_V49_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 56.8861 + -78.4254 * tfactors.T9i + -33.2133 * tfactors.T913i + 0.564373 * tfactors.T913 + -1.18789 * tfactors.T9 + 0.110892 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.4254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.2133 * tfactors.T943i + (1.0/3.0) * 0.564373 * tfactors.T923i + -1.18789 + (5.0/3.0) * 0.110892 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9036,7 +10411,7 @@ void rate_V49_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V49_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V49_to_He4_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 --> He4 + Sc45 @@ -9051,9 +10426,13 @@ void rate_V49_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 85.107 + -108.085 * tfactors.T9i + -79.222 * tfactors.T913i + -5.31022 * tfactors.T913 + -1.37323 * tfactors.T9 + 0.21679 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 108.085 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.222 * tfactors.T943i + (1.0/3.0) * -5.31022 * tfactors.T923i + -1.37323 + (5.0/3.0) * 0.21679 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9068,7 +10447,7 @@ void rate_V49_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V50_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V50_to_n_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 --> n + V49 @@ -9083,9 +10462,13 @@ void rate_V50_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 40.7345 + -108.339 * tfactors.T9i + -1.8725 * tfactors.T913 + 0.291609 * tfactors.T9 + -0.0370216 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 108.339 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.8725 * tfactors.T923i + 0.291609 + (5.0/3.0) * -0.0370216 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9100,7 +10483,7 @@ void rate_V50_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V50_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V50_to_p_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 --> p + Ti49 @@ -9115,9 +10498,13 @@ void rate_V50_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.1941 + -92.2758 * tfactors.T9i + -33.2179 * tfactors.T913i + 3.05321 * tfactors.T913 + -2.48884 * tfactors.T9 + 0.254524 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.2758 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.2179 * tfactors.T943i + (1.0/3.0) * 3.05321 * tfactors.T923i + -2.48884 + (5.0/3.0) * 0.254524 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9132,7 +10519,7 @@ void rate_V50_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V50_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V50_to_He4_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 --> He4 + Sc46 @@ -9147,9 +10534,13 @@ void rate_V50_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -928.723 + -98.9689 * tfactors.T9i + -1681.31 * tfactors.T913i + 2743.27 * tfactors.T913 + -162.405 * tfactors.T9 + 9.24681 * tfactors.T953 + -1291.28 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.9689 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1681.31 * tfactors.T943i + (1.0/3.0) * 2743.27 * tfactors.T923i + -162.405 + (5.0/3.0) * 9.24681 * tfactors.T923 + -1291.28 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9164,7 +10555,7 @@ void rate_V50_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V51_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V51_to_n_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 --> n + V50 @@ -9179,9 +10570,13 @@ void rate_V51_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 50.6387 + -128.363 * tfactors.T9i + 10.9535 * tfactors.T913i + -23.1254 * tfactors.T913 + 1.53091 * tfactors.T9 + -0.0992995 * tfactors.T953 + 11.122 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 128.363 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 10.9535 * tfactors.T943i + (1.0/3.0) * -23.1254 * tfactors.T923i + 1.53091 + (5.0/3.0) * -0.0992995 * tfactors.T923 + 11.122 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9196,7 +10591,7 @@ void rate_V51_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V51_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V51_to_p_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 --> p + Ti50 @@ -9211,9 +10606,13 @@ void rate_V51_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 56.7227 + -93.575 * tfactors.T9i + -33.2224 * tfactors.T913i + 0.579407 * tfactors.T913 + -0.949378 * tfactors.T9 + 0.0567069 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.575 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.2224 * tfactors.T943i + (1.0/3.0) * 0.579407 * tfactors.T923i + -0.949378 + (5.0/3.0) * 0.0567069 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9228,7 +10627,7 @@ void rate_V51_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V51_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V51_to_He4_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 --> He4 + Sc47 @@ -9243,9 +10642,13 @@ void rate_V51_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -1013.09 + -104.128 * tfactors.T9i + -1682.84 * tfactors.T913i + 2838.54 * tfactors.T913 + -171.874 * tfactors.T9 + 9.93236 * tfactors.T953 + -1315.92 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 104.128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1682.84 * tfactors.T943i + (1.0/3.0) * 2838.54 * tfactors.T923i + -171.874 + (5.0/3.0) * 9.93236 * tfactors.T923 + -1315.92 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9260,7 +10663,7 @@ void rate_V51_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V52_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V52_to_n_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 --> n + V51 @@ -9275,9 +10678,13 @@ void rate_V52_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 27.2469 + -84.8349 * tfactors.T9i + -4.14102 * tfactors.T913i + 17.4073 * tfactors.T913 + -1.59715 * tfactors.T9 + 0.114181 * tfactors.T953 + -4.43987 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.8349 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -4.14102 * tfactors.T943i + (1.0/3.0) * 17.4073 * tfactors.T923i + -1.59715 + (5.0/3.0) * 0.114181 * tfactors.T923 + -4.43987 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9292,7 +10699,7 @@ void rate_V52_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V52_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V52_to_p_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 --> p + Ti51 @@ -9307,9 +10714,13 @@ void rate_V52_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 153.463 + -110.28 * tfactors.T9i + 220.953 * tfactors.T913i + -370.119 * tfactors.T913 + 21.0839 * tfactors.T9 + -1.22336 * tfactors.T953 + 183.832 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.28 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 220.953 * tfactors.T943i + (1.0/3.0) * -370.119 * tfactors.T923i + 21.0839 + (5.0/3.0) * -1.22336 * tfactors.T923 + 183.832 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9324,7 +10735,7 @@ void rate_V52_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_V52_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_V52_to_He4_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 --> He4 + Sc48 @@ -9339,9 +10750,13 @@ void rate_V52_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -931.725 + -93.6357 * tfactors.T9i + -1642.74 * tfactors.T913i + 2707.58 * tfactors.T913 + -162.101 * tfactors.T9 + 9.30824 * tfactors.T953 + -1266.77 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.6357 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1642.74 * tfactors.T943i + (1.0/3.0) * 2707.58 * tfactors.T923i + -162.101 + (5.0/3.0) * 9.30824 * tfactors.T923 + -1266.77 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9356,7 +10771,7 @@ void rate_V52_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 --> p + V47 @@ -9371,9 +10786,13 @@ void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 48.892 + -93.8243 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.92325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.8243 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.92325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9388,9 +10807,13 @@ void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 65.6231 + -94.5854 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.5854 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9405,9 +10828,13 @@ void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 67.7403 + -100.13 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.13 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9422,9 +10849,13 @@ void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 536.523 + -99.3659 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.3659 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9439,7 +10870,7 @@ void rate_Cr48_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr48_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr48_to_He4_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 --> He4 + Ti44 @@ -9454,9 +10885,13 @@ void rate_Cr48_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.7573 + -89.3041 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.3041 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9471,7 +10906,7 @@ void rate_Cr48_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr49_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr49_to_n_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 --> n + Cr48 @@ -9486,9 +10921,13 @@ void rate_Cr49_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.7375 + -122.806 * tfactors.T9i + -0.000452357 * tfactors.T913 + 0.0412838 * tfactors.T9 + -0.0160865 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 122.806 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.000452357 * tfactors.T923i + 0.0412838 + (5.0/3.0) * -0.0160865 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9503,7 +10942,7 @@ void rate_Cr49_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr49_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr49_to_p_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 --> p + V48 @@ -9518,9 +10957,13 @@ void rate_Cr49_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.5971 + -94.5079 * tfactors.T9i + -34.2123 * tfactors.T913i + 2.51264 * tfactors.T913 + -2.09211 * tfactors.T9 + 0.219444 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.5079 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2123 * tfactors.T943i + (1.0/3.0) * 2.51264 * tfactors.T923i + -2.09211 + (5.0/3.0) * 0.219444 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9535,7 +10978,7 @@ void rate_Cr49_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr49_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr49_to_He4_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 --> He4 + Ti45 @@ -9550,9 +10993,13 @@ void rate_Cr49_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.275 + -101.535 * tfactors.T9i + -81.7175 * tfactors.T913i + -10.1755 * tfactors.T913 + 0.364167 * tfactors.T9 + -0.000317666 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.535 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.7175 * tfactors.T943i + (1.0/3.0) * -10.1755 * tfactors.T923i + 0.364167 + (5.0/3.0) * -0.000317666 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9567,7 +11014,7 @@ void rate_Cr49_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr50_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr50_to_n_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 --> n + Cr49 @@ -9582,9 +11029,13 @@ void rate_Cr50_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.3027 + -150.862 * tfactors.T9i + -1.98927 * tfactors.T913 + 0.465124 * tfactors.T9 + -0.0582249 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 150.862 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.98927 * tfactors.T923i + 0.465124 + (5.0/3.0) * -0.0582249 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9599,7 +11050,7 @@ void rate_Cr50_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr50_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr50_to_p_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 --> p + V49 @@ -9614,9 +11065,13 @@ void rate_Cr50_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 60.9884 + -111.305 * tfactors.T9i + -34.217 * tfactors.T913i + 1.28258 * tfactors.T913 + -1.5098 * tfactors.T9 + 0.142011 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 111.305 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.217 * tfactors.T943i + (1.0/3.0) * 1.28258 * tfactors.T923i + -1.5098 + (5.0/3.0) * 0.142011 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9631,7 +11086,7 @@ void rate_Cr50_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr50_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr50_to_He4_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 --> He4 + Ti46 @@ -9646,9 +11101,13 @@ void rate_Cr50_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 82.0042 + -99.346 * tfactors.T9i + -81.7658 * tfactors.T913i + 3.48637 * tfactors.T913 + -3.9188 * tfactors.T9 + 0.440356 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.346 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.7658 * tfactors.T943i + (1.0/3.0) * 3.48637 * tfactors.T923i + -3.9188 + (5.0/3.0) * 0.440356 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9663,7 +11122,7 @@ void rate_Cr50_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr51_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr51_to_n_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 --> n + Cr50 @@ -9678,9 +11137,13 @@ void rate_Cr51_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.7032 + -107.484 * tfactors.T9i + 0.815037 * tfactors.T913i + -0.708732 * tfactors.T913 + 0.386295 * tfactors.T9 + -0.0615661 * tfactors.T953 + 1.54546 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 107.484 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.815037 * tfactors.T943i + (1.0/3.0) * -0.708732 * tfactors.T923i + 0.386295 + (5.0/3.0) * -0.0615661 * tfactors.T923 + 1.54546 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9695,7 +11158,7 @@ void rate_Cr51_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr51_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr51_to_p_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 --> p + V50 @@ -9710,9 +11173,13 @@ void rate_Cr51_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 58.751 + -110.431 * tfactors.T9i + -34.2216 * tfactors.T913i + 2.39774 * tfactors.T913 + -2.15306 * tfactors.T9 + 0.232283 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.431 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 2.39774 * tfactors.T923i + -2.15306 + (5.0/3.0) * 0.232283 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9727,7 +11194,7 @@ void rate_Cr51_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr51_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr51_to_He4_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 --> He4 + Ti47 @@ -9742,9 +11209,13 @@ void rate_Cr51_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.0149 + -103.76 * tfactors.T9i + -81.8123 * tfactors.T913i + -8.91821 * tfactors.T913 + -0.0329369 * tfactors.T9 + 0.039179 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.76 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.8123 * tfactors.T943i + (1.0/3.0) * -8.91821 * tfactors.T923i + -0.0329369 + (5.0/3.0) * 0.039179 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9759,7 +11230,7 @@ void rate_Cr51_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr52_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr52_to_n_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 --> n + Cr51 @@ -9774,9 +11245,13 @@ void rate_Cr52_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 45.8814 + -139.784 * tfactors.T9i + 6.95563 * tfactors.T913i + -11.4485 * tfactors.T913 + 0.736956 * tfactors.T9 + -0.0695323 * tfactors.T953 + 6.81244 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 139.784 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6.95563 * tfactors.T943i + (1.0/3.0) * -11.4485 * tfactors.T923i + 0.736956 + (5.0/3.0) * -0.0695323 * tfactors.T923 + 6.81244 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9791,7 +11266,7 @@ void rate_Cr52_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr52_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr52_to_p_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 --> p + V51 @@ -9806,9 +11281,13 @@ void rate_Cr52_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 59.9066 + -121.899 * tfactors.T9i + -34.2261 * tfactors.T913i + 3.30454 * tfactors.T913 + -2.61654 * tfactors.T9 + 0.283602 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 121.899 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2261 * tfactors.T943i + (1.0/3.0) * 3.30454 * tfactors.T923i + -2.61654 + (5.0/3.0) * 0.283602 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9823,7 +11302,7 @@ void rate_Cr52_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr52_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr52_to_He4_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 --> He4 + Ti48 @@ -9838,9 +11317,13 @@ void rate_Cr52_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 81.6507 + -108.55 * tfactors.T9i + -81.8569 * tfactors.T913i + 4.92305 * tfactors.T913 + -5.04112 * tfactors.T9 + 0.6175 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 108.55 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.8569 * tfactors.T943i + (1.0/3.0) * 4.92305 * tfactors.T923i + -5.04112 + (5.0/3.0) * 0.6175 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9855,7 +11338,7 @@ void rate_Cr52_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr53_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr53_to_n_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 --> n + Cr52 @@ -9870,9 +11353,13 @@ void rate_Cr53_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 49.6092 + -92.163 * tfactors.T9i + 5.71728 * tfactors.T913i + -20.4149 * tfactors.T913 + 1.95304 * tfactors.T9 + -0.175538 * tfactors.T953 + 8.68293 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.163 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.71728 * tfactors.T943i + (1.0/3.0) * -20.4149 * tfactors.T923i + 1.95304 + (5.0/3.0) * -0.175538 * tfactors.T923 + 8.68293 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9887,7 +11374,7 @@ void rate_Cr53_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr53_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr53_to_p_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 --> p + V52 @@ -9902,9 +11389,13 @@ void rate_Cr53_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 153.532 + -135.214 * tfactors.T9i + 224.733 * tfactors.T913i + -373.356 * tfactors.T913 + 21.346 * tfactors.T9 + -1.24075 * tfactors.T953 + 186.049 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 135.214 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 224.733 * tfactors.T943i + (1.0/3.0) * -373.356 * tfactors.T923i + 21.346 + (5.0/3.0) * -1.24075 * tfactors.T923 + 186.049 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9919,7 +11410,7 @@ void rate_Cr53_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr53_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr53_to_He4_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 --> He4 + Ti49 @@ -9934,9 +11425,13 @@ void rate_Cr53_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.1363 + -106.191 * tfactors.T9i + -81.8999 * tfactors.T913i + -15.3695 * tfactors.T913 + 2.51758 * tfactors.T9 + -0.283455 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.191 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.8999 * tfactors.T943i + (1.0/3.0) * -15.3695 * tfactors.T923i + 2.51758 + (5.0/3.0) * -0.283455 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9951,7 +11446,7 @@ void rate_Cr53_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr54_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr54_to_n_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 --> n + Cr53 @@ -9966,9 +11461,13 @@ void rate_Cr54_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.9433 + -112.797 * tfactors.T9i + -1.26805 * tfactors.T913i + 6.34126 * tfactors.T913 + -0.39287 * tfactors.T9 + 0.000487041 * tfactors.T953 + -0.96456 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.797 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.26805 * tfactors.T943i + (1.0/3.0) * 6.34126 * tfactors.T923i + -0.39287 + (5.0/3.0) * 0.000487041 * tfactors.T923 + -0.96456 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -9983,7 +11482,7 @@ void rate_Cr54_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cr54_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cr54_to_He4_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 --> He4 + Ti50 @@ -9998,9 +11497,13 @@ void rate_Cr54_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.401 + -92.0329 * tfactors.T9i + -81.9411 * tfactors.T913i + -6.28155 * tfactors.T913 + -2.0416 * tfactors.T9 + 0.332085 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.0329 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.9411 * tfactors.T943i + (1.0/3.0) * -6.28155 * tfactors.T923i + -2.0416 + (5.0/3.0) * 0.332085 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10015,7 +11518,7 @@ void rate_Cr54_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn50_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn50_to_p_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 --> p + Cr49 @@ -10030,9 +11533,13 @@ void rate_Mn50_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.8556 + -53.2101 * tfactors.T9i + -35.2018 * tfactors.T913i + 0.168579 * tfactors.T913 + -2.87983 * tfactors.T9 + 0.378768 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.2101 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2018 * tfactors.T943i + (1.0/3.0) * 0.168579 * tfactors.T923i + -2.87983 + (5.0/3.0) * 0.378768 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10047,7 +11554,7 @@ void rate_Mn50_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn50_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn50_to_He4_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 --> He4 + V46 @@ -10062,9 +11569,13 @@ void rate_Mn50_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 79.278 + -92.5891 * tfactors.T9i + -84.2255 * tfactors.T913i + -4.85634 * tfactors.T913 + 0.0528515 * tfactors.T9 + -0.0425496 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.5891 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.2255 * tfactors.T943i + (1.0/3.0) * -4.85634 * tfactors.T923i + 0.0528515 + (5.0/3.0) * -0.0425496 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10079,7 +11590,7 @@ void rate_Mn50_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn51_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn51_to_n_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 --> n + Mn50 @@ -10094,9 +11605,13 @@ void rate_Mn51_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3277 + -158.817 * tfactors.T9i + -0.538879 * tfactors.T913 + 0.284528 * tfactors.T9 + -0.0459849 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 158.817 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.538879 * tfactors.T923i + 0.284528 + (5.0/3.0) * -0.0459849 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10111,7 +11626,7 @@ void rate_Mn51_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn51_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn51_to_p_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 --> p + Cr50 @@ -10126,9 +11641,13 @@ void rate_Mn51_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.7375 + -61.1651 * tfactors.T9i + -35.2065 * tfactors.T913i + 0.884621 * tfactors.T913 + -1.76421 * tfactors.T9 + 0.202494 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.1651 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2065 * tfactors.T943i + (1.0/3.0) * 0.884621 * tfactors.T923i + -1.76421 + (5.0/3.0) * 0.202494 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10143,7 +11662,7 @@ void rate_Mn51_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn51_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn51_to_He4_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 --> He4 + V47 @@ -10158,9 +11677,13 @@ void rate_Mn51_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 81.4259 + -100.544 * tfactors.T9i + -84.2732 * tfactors.T913i + -2.98061 * tfactors.T913 + -0.531361 * tfactors.T9 + 0.023612 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.544 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.2732 * tfactors.T943i + (1.0/3.0) * -2.98061 * tfactors.T923i + -0.531361 + (5.0/3.0) * 0.023612 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10175,7 +11698,7 @@ void rate_Mn51_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn52_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn52_to_n_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 --> n + Mn51 @@ -10190,9 +11713,13 @@ void rate_Mn52_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.109 + -122.258 * tfactors.T9i + -1.83611 * tfactors.T913 + 0.460384 * tfactors.T9 + -0.0584947 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 122.258 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.83611 * tfactors.T923i + 0.460384 + (5.0/3.0) * -0.0584947 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10207,7 +11734,7 @@ void rate_Mn52_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn52_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn52_to_p_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 --> p + Cr51 @@ -10222,9 +11749,13 @@ void rate_Mn52_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.4561 + -75.9585 * tfactors.T9i + -35.2111 * tfactors.T913i + 1.49375 * tfactors.T913 + -1.48209 * tfactors.T9 + 0.131902 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.9585 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2111 * tfactors.T943i + (1.0/3.0) * 1.49375 * tfactors.T923i + -1.48209 + (5.0/3.0) * 0.131902 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10239,7 +11770,7 @@ void rate_Mn52_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn52_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn52_to_He4_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 --> He4 + V48 @@ -10254,9 +11785,13 @@ void rate_Mn52_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 87.1966 + -100.437 * tfactors.T9i + -84.3192 * tfactors.T913i + -8.32959 * tfactors.T913 + 0.33994 * tfactors.T9 + -0.0359909 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.437 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.3192 * tfactors.T943i + (1.0/3.0) * -8.32959 * tfactors.T923i + 0.33994 + (5.0/3.0) * -0.0359909 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10271,7 +11806,7 @@ void rate_Mn52_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn53_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn53_to_n_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 --> n + Mn52 @@ -10286,9 +11821,13 @@ void rate_Mn53_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.2568 + -139.878 * tfactors.T9i + -0.91084 * tfactors.T913 + 0.162511 * tfactors.T9 + -0.0279619 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 139.878 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.91084 * tfactors.T923i + 0.162511 + (5.0/3.0) * -0.0279619 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10303,7 +11842,7 @@ void rate_Mn53_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn53_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn53_to_p_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 --> p + Cr52 @@ -10318,9 +11857,13 @@ void rate_Mn53_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.2932 + -76.1248 * tfactors.T9i + -35.2154 * tfactors.T913i + 0.73019 * tfactors.T913 + -1.26018 * tfactors.T9 + 0.121141 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 76.1248 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2154 * tfactors.T943i + (1.0/3.0) * 0.73019 * tfactors.T923i + -1.26018 + (5.0/3.0) * 0.121141 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10335,7 +11878,7 @@ void rate_Mn53_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn53_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn53_to_He4_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 --> He4 + V49 @@ -10350,9 +11893,13 @@ void rate_Mn53_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 87.4299 + -106.249 * tfactors.T9i + -84.3633 * tfactors.T913i + -5.28933 * tfactors.T913 + -1.3103 * tfactors.T9 + 0.187088 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.249 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.3633 * tfactors.T943i + (1.0/3.0) * -5.28933 * tfactors.T923i + -1.3103 + (5.0/3.0) * 0.187088 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10367,7 +11914,7 @@ void rate_Mn53_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn54_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn54_to_n_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 --> n + Mn53 @@ -10382,9 +11929,13 @@ void rate_Mn54_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.1614 + -103.73 * tfactors.T9i + -1.70171 * tfactors.T913 + 0.386422 * tfactors.T9 + -0.0536858 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.73 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.70171 * tfactors.T923i + 0.386422 + (5.0/3.0) * -0.0536858 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10399,7 +11950,7 @@ void rate_Mn54_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn54_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn54_to_p_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 --> p + Cr53 @@ -10414,9 +11965,13 @@ void rate_Mn54_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.3213 + -87.7254 * tfactors.T9i + -35.2197 * tfactors.T913i + 3.74805 * tfactors.T913 + -2.77987 * tfactors.T9 + 0.296885 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.7254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2197 * tfactors.T943i + (1.0/3.0) * 3.74805 * tfactors.T923i + -2.77987 + (5.0/3.0) * 0.296885 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10431,7 +11986,7 @@ void rate_Mn54_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn54_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn54_to_He4_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 --> He4 + V50 @@ -10446,9 +12001,13 @@ void rate_Mn54_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 88.9113 + -101.641 * tfactors.T9i + -84.4058 * tfactors.T913i + -6.25173 * tfactors.T913 + -1.31339 * tfactors.T9 + 0.208695 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 101.641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.4058 * tfactors.T943i + (1.0/3.0) * -6.25173 * tfactors.T923i + -1.31339 + (5.0/3.0) * 0.208695 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10463,7 +12022,7 @@ void rate_Mn54_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn55_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn55_to_n_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 --> n + Mn54 @@ -10478,9 +12037,13 @@ void rate_Mn55_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.3029 + -118.673 * tfactors.T9i + -2.56572 * tfactors.T913 + 0.352447 * tfactors.T9 + -0.0375878 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.673 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.56572 * tfactors.T923i + 0.352447 + (5.0/3.0) * -0.0375878 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10495,7 +12058,7 @@ void rate_Mn55_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn55_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn55_to_p_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 --> p + Cr54 @@ -10510,9 +12073,13 @@ void rate_Mn55_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 56.8219 + -93.6136 * tfactors.T9i + -35.2237 * tfactors.T913i + 2.60768 * tfactors.T913 + -1.7864 * tfactors.T9 + 0.134189 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.6136 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2237 * tfactors.T943i + (1.0/3.0) * 2.60768 * tfactors.T923i + -1.7864 + (5.0/3.0) * 0.134189 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10527,7 +12094,7 @@ void rate_Mn55_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Mn55_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Mn55_to_He4_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 --> He4 + V51 @@ -10542,9 +12109,13 @@ void rate_Mn55_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 86.8796 + -92.0714 * tfactors.T9i + -84.4467 * tfactors.T913i + -1.29542 * tfactors.T913 + -3.56909 * tfactors.T9 + 0.513926 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.0714 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.4467 * tfactors.T943i + (1.0/3.0) * -1.29542 * tfactors.T923i + -3.56909 + (5.0/3.0) * 0.513926 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10559,7 +12130,7 @@ void rate_Mn55_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe52_to_p_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 --> p + Mn51 @@ -10574,9 +12145,13 @@ void rate_Fe52_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.728 + -85.6325 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.6325 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10591,7 +12166,7 @@ void rate_Fe52_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe52_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe52_to_He4_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 --> He4 + Cr48 @@ -10606,9 +12181,13 @@ void rate_Fe52_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.1474 + -92.109 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.109 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10623,7 +12202,7 @@ void rate_Fe52_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe53_to_n_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 --> n + Fe52 @@ -10638,9 +12217,13 @@ void rate_Fe53_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.4863 + -123.994 * tfactors.T9i + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 123.994 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10655,7 +12238,7 @@ void rate_Fe53_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe53_to_p_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 --> p + Mn52 @@ -10670,9 +12253,13 @@ void rate_Fe53_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.5946 + -87.3685 * tfactors.T9i + -36.187 * tfactors.T913i + 1.79171 * tfactors.T913 + -1.77786 * tfactors.T9 + 0.179936 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.3685 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.187 * tfactors.T943i + (1.0/3.0) * 1.79171 * tfactors.T923i + -1.77786 + (5.0/3.0) * 0.179936 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10687,7 +12274,7 @@ void rate_Fe53_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe53_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe53_to_He4_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 --> He4 + Cr49 @@ -10702,9 +12289,13 @@ void rate_Fe53_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.8334 + -93.2974 * tfactors.T9i + -86.7913 * tfactors.T913i + -6.51572 * tfactors.T913 + -1.21249 * tfactors.T9 + 0.185473 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 93.2974 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7913 * tfactors.T943i + (1.0/3.0) * -6.51572 * tfactors.T923i + -1.21249 + (5.0/3.0) * 0.185473 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10719,7 +12310,7 @@ void rate_Fe53_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe54_to_n_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 --> n + Fe53 @@ -10734,9 +12325,13 @@ void rate_Fe54_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.2106 + -155.251 * tfactors.T9i + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 155.251 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10751,7 +12346,7 @@ void rate_Fe54_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe54_to_p_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 --> p + Mn53 @@ -10766,9 +12361,13 @@ void rate_Fe54_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.3432 + -102.741 * tfactors.T9i + -36.1913 * tfactors.T913i + 1.44056 * tfactors.T913 + -1.50734 * tfactors.T9 + 0.142124 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.741 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1913 * tfactors.T943i + (1.0/3.0) * 1.44056 * tfactors.T923i + -1.50734 + (5.0/3.0) * 0.142124 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10783,7 +12382,7 @@ void rate_Fe54_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe54_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe54_to_He4_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 --> He4 + Cr50 @@ -10798,9 +12397,13 @@ void rate_Fe54_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 84.6959 + -97.6852 * tfactors.T9i + -86.8349 * tfactors.T913i + 2.37343 * tfactors.T913 + -3.65677 * tfactors.T9 + 0.412128 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 97.6852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.8349 * tfactors.T943i + (1.0/3.0) * 2.37343 * tfactors.T923i + -3.65677 + (5.0/3.0) * 0.412128 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10815,7 +12418,7 @@ void rate_Fe54_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe55_to_n_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 --> n + Fe54 @@ -10830,9 +12433,13 @@ void rate_Fe55_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.4833 + -107.843 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -8.28317 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 107.843 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -8.28317 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10847,7 +12454,7 @@ void rate_Fe55_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe55_to_p_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 --> p + Mn54 @@ -10862,9 +12469,13 @@ void rate_Fe55_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.7879 + -106.912 * tfactors.T9i + -36.1955 * tfactors.T913i + 1.08481 * tfactors.T913 + -1.46703 * tfactors.T9 + 0.13789 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 106.912 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1955 * tfactors.T943i + (1.0/3.0) * 1.08481 * tfactors.T923i + -1.46703 + (5.0/3.0) * 0.13789 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10879,7 +12490,7 @@ void rate_Fe55_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe55_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe55_to_He4_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 --> He4 + Cr51 @@ -10894,9 +12505,13 @@ void rate_Fe55_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 87.2804 + -98.1216 * tfactors.T9i + -86.8771 * tfactors.T913i + -0.0873902 * tfactors.T913 + -3.40716 * tfactors.T9 + 0.441679 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.1216 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.8771 * tfactors.T943i + (1.0/3.0) * -0.0873902 * tfactors.T923i + -3.40716 + (5.0/3.0) * 0.441679 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10911,7 +12526,7 @@ void rate_Fe55_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe56_to_n_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 --> n + Fe55 @@ -10926,9 +12541,13 @@ void rate_Fe56_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 46.7852 + -130.023 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 7.97093 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 130.023 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 7.97093 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10943,7 +12562,7 @@ void rate_Fe56_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe56_to_p_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 --> p + Mn55 @@ -10958,9 +12577,13 @@ void rate_Fe56_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.6593 + -118.177 * tfactors.T9i + -36.1995 * tfactors.T913i + 1.15346 * tfactors.T913 + -1.94437 * tfactors.T9 + 0.218429 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.177 * 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; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -10975,7 +12598,7 @@ void rate_Fe56_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe56_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe56_to_He4_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 --> He4 + Cr52 @@ -10990,9 +12613,13 @@ void rate_Fe56_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 82.9955 + -88.349 * tfactors.T9i + -86.9175 * tfactors.T913i + 5.655 * tfactors.T913 + -4.53625 * tfactors.T9 + 0.479806 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.349 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.9175 * tfactors.T943i + (1.0/3.0) * 5.655 * tfactors.T923i + -4.53625 + (5.0/3.0) * 0.479806 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11007,7 +12634,7 @@ void rate_Fe56_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe57_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe57_to_n_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 --> n + Fe56 @@ -11022,9 +12649,13 @@ void rate_Fe57_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.8201 + -88.7916 * tfactors.T9i + 9.79414 * tfactors.T913i + -33.7366 * tfactors.T913 + 2.97173 * tfactors.T9 + -0.236498 * tfactors.T953 + 13.3711 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.7916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.79414 * tfactors.T943i + (1.0/3.0) * -33.7366 * tfactors.T923i + 2.97173 + (5.0/3.0) * -0.236498 * tfactors.T923 + 13.3711 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11039,7 +12670,7 @@ void rate_Fe57_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe57_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe57_to_He4_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 --> He4 + Cr53 @@ -11054,9 +12685,13 @@ void rate_Fe57_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.6261 + -84.9485 * tfactors.T9i + -86.9567 * tfactors.T913i + -12.0579 * tfactors.T913 + 1.33466 * tfactors.T9 + -0.14709 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.9485 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.9567 * tfactors.T943i + (1.0/3.0) * -12.0579 * tfactors.T923i + 1.33466 + (5.0/3.0) * -0.14709 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11071,7 +12706,7 @@ void rate_Fe57_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe58_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe58_to_n_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 --> n + Fe57 @@ -11086,9 +12721,13 @@ void rate_Fe58_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 44.6221 + -116.581 * tfactors.T9i + 2.1643 * tfactors.T913i + -7.49584 * tfactors.T913 + 0.656354 * tfactors.T9 + -0.0549855 * tfactors.T953 + 3.88149 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 116.581 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.1643 * tfactors.T943i + (1.0/3.0) * -7.49584 * tfactors.T923i + 0.656354 + (5.0/3.0) * -0.0549855 * tfactors.T923 + 3.88149 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11103,7 +12742,7 @@ void rate_Fe58_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Fe58_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Fe58_to_He4_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 --> He4 + Cr54 @@ -11118,9 +12757,13 @@ void rate_Fe58_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.2775 + -88.7256 * tfactors.T9i + -86.9945 * tfactors.T913i + -1.05674 * tfactors.T913 + -4.13443 * tfactors.T9 + 0.599141 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.7256 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.9945 * tfactors.T943i + (1.0/3.0) * -1.05674 * tfactors.T923i + -4.13443 + (5.0/3.0) * 0.599141 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11135,7 +12778,7 @@ void rate_Fe58_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co53_to_p_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co53_to_p_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 --> p + Fe52 @@ -11150,9 +12793,13 @@ void rate_Co53_to_p_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.8857 + -18.5925 * tfactors.T9i + -37.1457 * tfactors.T913i + -5.67417 * tfactors.T913 + -0.559644 * tfactors.T9 + 0.102768 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.5925 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1457 * tfactors.T943i + (1.0/3.0) * -5.67417 * tfactors.T923i + -0.559644 + (5.0/3.0) * 0.102768 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11167,7 +12814,7 @@ void rate_Co53_to_p_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co54_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co54_to_n_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 --> n + Co53 @@ -11182,9 +12829,13 @@ void rate_Co54_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.9609 + -155.918 * tfactors.T9i + -1.14795 * tfactors.T913 + 0.413083 * tfactors.T9 + -0.0515627 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 155.918 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.14795 * tfactors.T923i + 0.413083 + (5.0/3.0) * -0.0515627 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11199,7 +12850,7 @@ void rate_Co54_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co54_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co54_to_p_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 --> p + Fe53 @@ -11214,9 +12865,13 @@ void rate_Co54_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.6311 + -50.5166 * tfactors.T9i + -37.1501 * tfactors.T913i + 0.211459 * tfactors.T913 + -2.79493 * tfactors.T9 + 0.358657 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.5166 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1501 * tfactors.T943i + (1.0/3.0) * 0.211459 * tfactors.T923i + -2.79493 + (5.0/3.0) * 0.358657 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11231,7 +12886,7 @@ void rate_Co54_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co54_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co54_to_He4_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 --> He4 + Mn50 @@ -11246,9 +12901,13 @@ void rate_Co54_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 79.294 + -90.6038 * tfactors.T9i + -89.2309 * tfactors.T913i + -1.30702 * tfactors.T913 + -1.30543 * tfactors.T9 + 0.141679 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.6038 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.2309 * tfactors.T943i + (1.0/3.0) * -1.30702 * tfactors.T923i + -1.30543 + (5.0/3.0) * 0.141679 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11263,7 +12922,7 @@ void rate_Co54_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co55_to_n_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 --> n + Co54 @@ -11278,9 +12937,13 @@ void rate_Co55_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.9749 + -163.499 * tfactors.T9i + 0.433187 * tfactors.T913 + 0.0888642 * tfactors.T9 + -0.0315521 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 163.499 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.433187 * tfactors.T923i + 0.0888642 + (5.0/3.0) * -0.0315521 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11295,7 +12958,7 @@ void rate_Co55_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co55_to_p_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 --> p + Fe54 @@ -11310,9 +12973,13 @@ void rate_Co55_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.8292 + -58.766 * tfactors.T9i + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.766 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11327,7 +12994,7 @@ void rate_Co55_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co55_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co55_to_He4_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 --> He4 + Mn51 @@ -11342,9 +13009,13 @@ void rate_Co55_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.613 + -95.2861 * tfactors.T9i + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.2861 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11359,7 +13030,7 @@ void rate_Co55_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co56_to_n_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 --> n + Co55 @@ -11374,9 +13045,13 @@ void rate_Co56_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.626 + -117.009 * tfactors.T9i + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 117.009 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11391,7 +13066,7 @@ void rate_Co56_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co56_to_p_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 --> p + Fe55 @@ -11406,9 +13081,13 @@ void rate_Co56_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.6011 + -67.8743 * tfactors.T9i + -37.1585 * tfactors.T913i + 1.66198 * tfactors.T913 + -1.60842 * tfactors.T9 + 0.148916 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.8743 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1585 * tfactors.T943i + (1.0/3.0) * 1.66198 * tfactors.T923i + -1.60842 + (5.0/3.0) * 0.148916 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11423,7 +13102,7 @@ void rate_Co56_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co56_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co56_to_He4_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 --> He4 + Mn52 @@ -11438,9 +13117,13 @@ void rate_Co56_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.9143 + -90.0372 * tfactors.T9i + -89.3157 * tfactors.T913i + -1.95982 * tfactors.T913 + -2.45671 * tfactors.T9 + 0.296095 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.0372 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.3157 * tfactors.T943i + (1.0/3.0) * -1.95982 * tfactors.T923i + -2.45671 + (5.0/3.0) * 0.296095 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11455,7 +13138,7 @@ void rate_Co56_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co57_to_n_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 --> n + Co56 @@ -11470,9 +13153,13 @@ void rate_Co57_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.1522 + -132.015 * tfactors.T9i + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 132.015 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11487,7 +13174,7 @@ void rate_Co57_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co57_to_p_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 --> p + Fe56 @@ -11502,9 +13189,13 @@ void rate_Co57_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.6663 + -69.9498 * tfactors.T9i + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 69.9498 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11519,7 +13210,7 @@ void rate_Co57_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co57_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co57_to_He4_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 --> He4 + Mn53 @@ -11534,9 +13225,13 @@ void rate_Co57_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 87.0081 + -82.174 * tfactors.T9i + -89.3558 * tfactors.T913i + 0.000882861 * tfactors.T913 + -2.79327 * tfactors.T9 + 0.309057 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 82.174 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.3558 * tfactors.T943i + (1.0/3.0) * 0.000882861 * tfactors.T923i + -2.79327 + (5.0/3.0) * 0.309057 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11551,7 +13246,7 @@ void rate_Co57_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co58_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co58_to_n_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 --> n + Co57 @@ -11566,9 +13261,13 @@ void rate_Co58_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.1458 + -99.4851 * tfactors.T9i + -1.03654 * tfactors.T913 + 0.342218 * tfactors.T9 + -0.0638367 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.4851 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.03654 * tfactors.T923i + 0.342218 + (5.0/3.0) * -0.0638367 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11583,7 +13282,7 @@ void rate_Co58_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co58_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co58_to_p_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 --> p + Fe57 @@ -11598,9 +13297,13 @@ void rate_Co58_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.0324 + -80.7059 * tfactors.T9i + -37.1663 * tfactors.T913i + 3.48503 * tfactors.T913 + -2.56204 * tfactors.T9 + 0.272972 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.7059 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1663 * tfactors.T943i + (1.0/3.0) * 3.48503 * tfactors.T923i + -2.56204 + (5.0/3.0) * 0.272972 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11615,7 +13318,7 @@ void rate_Co58_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co58_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co58_to_He4_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 --> He4 + Mn54 @@ -11630,9 +13333,13 @@ void rate_Co58_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 92.9296 + -77.929 * tfactors.T9i + -89.3946 * tfactors.T913i + -8.26476 * tfactors.T913 + -0.766622 * tfactors.T9 + 0.135181 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.929 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.3946 * tfactors.T943i + (1.0/3.0) * -8.26476 * tfactors.T923i + -0.766622 + (5.0/3.0) * 0.135181 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11647,7 +13354,7 @@ void rate_Co58_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co59_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co59_to_n_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 --> n + Co58 @@ -11662,9 +13369,13 @@ void rate_Co59_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.4007 + -121.312 * tfactors.T9i + -2.18418 * tfactors.T913 + 0.328629 * tfactors.T9 + -0.0407234 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 121.312 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.18418 * tfactors.T923i + 0.328629 + (5.0/3.0) * -0.0407234 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11679,7 +13390,7 @@ void rate_Co59_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co59_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co59_to_p_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 --> p + Fe58 @@ -11694,9 +13405,13 @@ void rate_Co59_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 57.8189 + -85.4551 * tfactors.T9i + -37.17 * tfactors.T913i + 1.63285 * tfactors.T913 + -1.16636 * tfactors.T9 + 0.0508619 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.4551 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.17 * tfactors.T943i + (1.0/3.0) * 1.63285 * tfactors.T923i + -1.16636 + (5.0/3.0) * 0.0508619 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11711,7 +13426,7 @@ void rate_Co59_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Co59_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Co59_to_He4_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 --> He4 + Mn55 @@ -11726,9 +13441,13 @@ void rate_Co59_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 84.7829 + -80.5671 * tfactors.T9i + -89.432 * tfactors.T913i + 5.33428 * tfactors.T913 + -5.11461 * tfactors.T9 + 0.613808 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.5671 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.432 * tfactors.T943i + (1.0/3.0) * 5.33428 * tfactors.T923i + -5.11461 + (5.0/3.0) * 0.613808 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11743,7 +13462,7 @@ void rate_Co59_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni56_to_p_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 --> p + Co55 @@ -11758,9 +13477,13 @@ void rate_Ni56_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.1318 + -83.1473 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 83.1473 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11775,7 +13498,7 @@ void rate_Ni56_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni56_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni56_to_He4_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 --> He4 + Fe52 @@ -11790,9 +13513,13 @@ void rate_Ni56_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.6226 + -92.801 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.801 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11807,7 +13534,7 @@ void rate_Ni56_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni57_to_n_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 --> n + Ni56 @@ -11822,9 +13549,13 @@ void rate_Ni57_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.3694 + -118.941 * tfactors.T9i + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.941 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11839,7 +13570,7 @@ void rate_Ni57_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni57_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 --> p + Co56 @@ -11854,9 +13585,13 @@ void rate_Ni57_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.0839 + -85.0794 * tfactors.T9i + -38.1094 * tfactors.T913i + 2.57091 * tfactors.T913 + -2.07795 * tfactors.T9 + 0.20757 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.0794 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1094 * tfactors.T943i + (1.0/3.0) * 2.57091 * tfactors.T923i + -2.07795 + (5.0/3.0) * 0.20757 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11871,7 +13606,7 @@ void rate_Ni57_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni57_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni57_to_He4_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 --> He4 + Fe53 @@ -11886,9 +13621,13 @@ void rate_Ni57_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 94.7397 + -87.7481 * tfactors.T9i + -91.7231 * tfactors.T913i + -10.1816 * tfactors.T913 + -0.0406303 * tfactors.T9 + 0.0345056 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.7481 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * -10.1816 * tfactors.T923i + -0.0406303 + (5.0/3.0) * 0.0345056 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11903,7 +13642,7 @@ void rate_Ni57_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni58_to_n_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 --> n + Ni57 @@ -11918,9 +13657,13 @@ void rate_Ni58_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.3391 + -141.772 * tfactors.T9i + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 141.772 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11935,7 +13678,7 @@ void rate_Ni58_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni58_to_p_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 --> p + Co57 @@ -11950,9 +13693,13 @@ void rate_Ni58_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.775 + -94.8373 * tfactors.T9i + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.8373 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11967,7 +13714,7 @@ void rate_Ni58_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni58_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni58_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 --> He4 + Fe54 @@ -11982,9 +13729,13 @@ void rate_Ni58_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2327 + -74.2705 * tfactors.T9i + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.2705 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -11999,7 +13750,7 @@ void rate_Ni58_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni59_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni59_to_n_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 --> n + Ni58 @@ -12014,9 +13765,13 @@ void rate_Ni59_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.9258 + -104.3 * tfactors.T9i + -11.785 * tfactors.T913i + 19.5347 * tfactors.T913 + -0.857179 * tfactors.T9 + 0.00111653 * tfactors.T953 + -7.85642 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 104.3 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.785 * tfactors.T943i + (1.0/3.0) * 19.5347 * tfactors.T923i + -0.857179 + (5.0/3.0) * 0.00111653 * tfactors.T923 + -7.85642 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12031,7 +13786,7 @@ void rate_Ni59_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni59_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni59_to_p_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 --> p + Co58 @@ -12046,9 +13801,13 @@ void rate_Ni59_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.0091 + -99.7842 * tfactors.T9i + -38.1171 * tfactors.T913i + 1.68645 * tfactors.T913 + -1.51404 * tfactors.T9 + 0.126766 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 99.7842 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1171 * tfactors.T943i + (1.0/3.0) * 1.68645 * tfactors.T923i + -1.51404 + (5.0/3.0) * 0.126766 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12063,7 +13822,7 @@ void rate_Ni59_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni59_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni59_to_He4_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 --> He4 + Fe55 @@ -12078,9 +13837,13 @@ void rate_Ni59_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.76 + -70.8014 * tfactors.T9i + -91.8012 * tfactors.T913i + 4.12067 * tfactors.T913 + -4.13271 * tfactors.T9 + 0.450006 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 70.8014 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.8012 * tfactors.T943i + (1.0/3.0) * 4.12067 * tfactors.T923i + -4.13271 + (5.0/3.0) * 0.450006 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12095,7 +13858,7 @@ void rate_Ni59_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni60_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni60_to_n_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 --> n + Ni59 @@ -12110,9 +13873,13 @@ void rate_Ni60_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.6431 + -132.266 * tfactors.T9i + 9.92411 * tfactors.T913i + -20.503 * tfactors.T913 + 1.39981 * tfactors.T9 + -0.101641 * tfactors.T953 + 10.082 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 132.266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.92411 * tfactors.T943i + (1.0/3.0) * -20.503 * tfactors.T923i + 1.39981 + (5.0/3.0) * -0.101641 * tfactors.T923 + 10.082 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12127,7 +13894,7 @@ void rate_Ni60_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni60_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni60_to_p_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 --> p + Co59 @@ -12142,9 +13909,13 @@ void rate_Ni60_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.717 + -110.622 * tfactors.T9i + -38.1208 * tfactors.T913i + 2.42609 * tfactors.T913 + -1.5885 * tfactors.T9 + 0.110313 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.622 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1208 * tfactors.T943i + (1.0/3.0) * 2.42609 * tfactors.T923i + -1.5885 + (5.0/3.0) * 0.110313 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12159,7 +13930,7 @@ void rate_Ni60_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni60_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni60_to_He4_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 --> He4 + Fe56 @@ -12174,9 +13945,13 @@ void rate_Ni60_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.6559 + -73.0113 * tfactors.T9i + -91.8383 * tfactors.T913i + 3.63237 * tfactors.T913 + -2.73367 * tfactors.T9 + 0.179684 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.0113 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.8383 * tfactors.T943i + (1.0/3.0) * 3.63237 * tfactors.T923i + -2.73367 + (5.0/3.0) * 0.179684 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12191,7 +13966,7 @@ void rate_Ni60_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni61_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni61_to_n_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 --> n + Ni60 @@ -12206,9 +13981,13 @@ void rate_Ni61_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.8859 + -90.6506 * tfactors.T9i + -9.46323 * tfactors.T913i + 19.9252 * tfactors.T913 + -0.985724 * tfactors.T9 + 0.0164222 * tfactors.T953 + -7.25824 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.6506 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -9.46323 * tfactors.T943i + (1.0/3.0) * 19.9252 * tfactors.T923i + -0.985724 + (5.0/3.0) * 0.0164222 * tfactors.T923 + -7.25824 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12223,7 +14002,7 @@ void rate_Ni61_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni61_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni61_to_He4_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 --> He4 + Fe57 @@ -12238,9 +14017,13 @@ void rate_Ni61_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.4812 + -75.031 * tfactors.T9i + -91.8742 * tfactors.T913i + -4.07595 * tfactors.T913 + -1.93027 * tfactors.T9 + 0.240619 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.031 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.8742 * tfactors.T943i + (1.0/3.0) * -4.07595 * tfactors.T923i + -1.93027 + (5.0/3.0) * 0.240619 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12255,7 +14038,7 @@ void rate_Ni61_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni62_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni62_to_n_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 --> n + Ni61 @@ -12270,9 +14053,13 @@ void rate_Ni62_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.808 + -122.947 * tfactors.T9i + -2.82482 * tfactors.T913i + 7.69552 * tfactors.T913 + -0.605244 * tfactors.T9 + 0.0243914 * tfactors.T953 + -1.62147 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 122.947 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.82482 * tfactors.T943i + (1.0/3.0) * 7.69552 * tfactors.T923i + -0.605244 + (5.0/3.0) * 0.0243914 * tfactors.T923 + -1.62147 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12287,7 +14074,7 @@ void rate_Ni62_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni62_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni62_to_He4_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 --> He4 + Fe58 @@ -12302,9 +14089,13 @@ void rate_Ni62_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 84.385 + -81.4356 * tfactors.T9i + -91.9089 * tfactors.T913i + 8.18581 * tfactors.T913 + -6.00824 * tfactors.T9 + 0.693434 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 81.4356 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.9089 * tfactors.T943i + (1.0/3.0) * 8.18581 * tfactors.T923i + -6.00824 + (5.0/3.0) * 0.693434 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12319,7 +14110,7 @@ void rate_Ni62_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni63_to_n_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni63_to_n_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni63 --> n + Ni62 @@ -12334,9 +14125,13 @@ void rate_Ni63_to_n_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.7618 + -79.3664 * tfactors.T9i + -1.2799 * tfactors.T913i + 10.7874 * tfactors.T913 + -0.552819 * tfactors.T9 + -0.0106439 * tfactors.T953 + -2.03486 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.3664 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.2799 * tfactors.T943i + (1.0/3.0) * 10.7874 * tfactors.T923i + -0.552819 + (5.0/3.0) * -0.0106439 * tfactors.T923 + -2.03486 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12351,7 +14146,7 @@ void rate_Ni63_to_n_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ni64_to_n_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ni64_to_n_Ni63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni64 --> n + Ni63 @@ -12366,9 +14161,13 @@ void rate_Ni64_to_n_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 53.9025 + -112.129 * tfactors.T9i + 7.01558 * tfactors.T913i + -23.8529 * tfactors.T913 + 2.50513 * tfactors.T9 + -0.227209 * tfactors.T953 + 9.15703 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.129 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.01558 * tfactors.T943i + (1.0/3.0) * -23.8529 * tfactors.T923i + 2.50513 + (5.0/3.0) * -0.227209 * tfactors.T923 + 9.15703 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12383,7 +14182,7 @@ void rate_Ni64_to_n_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 --> p + Ni56 @@ -12398,9 +14197,13 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.6884 + -12.8235 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8235 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12415,9 +14218,13 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.42903 + -11.9135 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.9135 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12432,9 +14239,13 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.8092 + -8.05352 * tfactors.T9i + -39.3 * tfactors.T913i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.05352 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.3 * tfactors.T943i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12449,9 +14260,13 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.7567 + -29.2535 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.2535 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12466,9 +14281,13 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.9323 + -27.8535 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.8535 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12483,7 +14302,7 @@ void rate_Cu57_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu57_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu57_to_He4_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 --> He4 + Co53 @@ -12498,9 +14317,13 @@ void rate_Cu57_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 82.608 + -82.2721 * tfactors.T9i + -94.0605 * tfactors.T913i + -2.61232 * tfactors.T913 + -0.4397 * tfactors.T9 + -0.00420698 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 82.2721 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.0605 * tfactors.T943i + (1.0/3.0) * -2.61232 * tfactors.T923i + -0.4397 + (5.0/3.0) * -0.00420698 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12515,7 +14338,7 @@ void rate_Cu57_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu58_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu58_to_n_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 --> n + Cu57 @@ -12530,9 +14353,13 @@ void rate_Cu58_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.7381 + -144.172 * tfactors.T9i + -0.954817 * tfactors.T913 + 0.394641 * tfactors.T9 + -0.0489206 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 144.172 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.954817 * tfactors.T923i + 0.394641 + (5.0/3.0) * -0.0489206 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12547,7 +14374,7 @@ void rate_Cu58_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu58_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu58_to_p_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 --> p + Ni57 @@ -12562,9 +14389,13 @@ void rate_Cu58_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.6936 + -33.294 * tfactors.T9i + -39.0487 * tfactors.T913i + -0.339241 * tfactors.T913 + -2.87307 * tfactors.T9 + 0.382369 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.294 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0487 * tfactors.T943i + (1.0/3.0) * -0.339241 * tfactors.T923i + -2.87307 + (5.0/3.0) * 0.382369 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12579,7 +14410,7 @@ void rate_Cu58_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu58_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu58_to_He4_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 --> He4 + Co54 @@ -12594,9 +14425,13 @@ void rate_Cu58_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 79.5762 + -70.5255 * tfactors.T9i + -94.1012 * tfactors.T913i + 7.09095 * tfactors.T913 + -5.85934 * tfactors.T9 + 0.728369 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 70.5255 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1012 * tfactors.T943i + (1.0/3.0) * 7.09095 * tfactors.T923i + -5.85934 + (5.0/3.0) * 0.728369 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12611,7 +14446,7 @@ void rate_Cu58_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu59_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu59_to_n_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 --> n + Cu58 @@ -12626,9 +14461,13 @@ void rate_Cu59_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.1783 + -148.149 * tfactors.T9i + -0.307504 * tfactors.T913 + 0.342948 * tfactors.T9 + -0.0507762 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 148.149 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.307504 * tfactors.T923i + 0.342948 + (5.0/3.0) * -0.0507762 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12643,7 +14482,7 @@ void rate_Cu59_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu59_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 --> p + Ni58 @@ -12658,9 +14497,13 @@ void rate_Cu59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.96 + -39.67 * tfactors.T9i + -39.0526 * tfactors.T913i + 1.0436 * tfactors.T913 + -2.10834 * tfactors.T9 + 0.239559 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.67 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0526 * tfactors.T943i + (1.0/3.0) * 1.0436 * tfactors.T923i + -2.10834 + (5.0/3.0) * 0.239559 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12675,7 +14518,7 @@ void rate_Cu59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu59_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu59_to_He4_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 --> He4 + Co55 @@ -12690,9 +14533,13 @@ void rate_Cu59_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 90.972 + -55.1745 * tfactors.T9i + -94.1404 * tfactors.T913i + -2.62786 * tfactors.T913 + -2.12066 * tfactors.T9 + 0.237999 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.1745 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * -2.62786 * tfactors.T923i + -2.12066 + (5.0/3.0) * 0.237999 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12707,7 +14554,7 @@ void rate_Cu59_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu60_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu60_to_n_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 --> n + Cu59 @@ -12722,9 +14569,13 @@ void rate_Cu60_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.1923 + -116.72 * tfactors.T9i + -0.952104 * tfactors.T913 + 0.520444 * tfactors.T9 + -0.0746175 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 116.72 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.952104 * tfactors.T923i + 0.520444 + (5.0/3.0) * -0.0746175 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12739,7 +14590,7 @@ void rate_Cu60_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu60_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu60_to_p_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 --> p + Ni59 @@ -12754,9 +14605,13 @@ void rate_Cu60_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.5059 + -51.9582 * tfactors.T9i + -39.0563 * tfactors.T913i + 2.1481 * tfactors.T913 + -1.76507 * tfactors.T9 + 0.1629 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.9582 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0563 * tfactors.T943i + (1.0/3.0) * 2.1481 * tfactors.T923i + -1.76507 + (5.0/3.0) * 0.1629 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12771,7 +14626,7 @@ void rate_Cu60_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu60_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu60_to_He4_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 --> He4 + Co56 @@ -12786,9 +14641,13 @@ void rate_Cu60_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 91.0538 + -54.8853 * tfactors.T9i + -94.1784 * tfactors.T913i + -1.94118 * tfactors.T913 + -2.35306 * tfactors.T9 + 0.265186 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 54.8853 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1784 * tfactors.T943i + (1.0/3.0) * -1.94118 * tfactors.T923i + -2.35306 + (5.0/3.0) * 0.265186 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12803,7 +14662,7 @@ void rate_Cu60_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu61_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu61_to_n_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 --> n + Cu60 @@ -12818,9 +14677,13 @@ void rate_Cu61_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.249 + -135.899 * tfactors.T9i + -0.586034 * tfactors.T913 + 0.320768 * tfactors.T9 + -0.0484658 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 135.899 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.586034 * tfactors.T923i + 0.320768 + (5.0/3.0) * -0.0484658 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12835,7 +14698,7 @@ void rate_Cu61_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu61_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu61_to_p_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 --> p + Ni60 @@ -12850,9 +14713,13 @@ void rate_Cu61_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.2863 + -55.7078 * tfactors.T9i + -39.06 * tfactors.T913i + 1.28239 * tfactors.T913 + -1.76356 * tfactors.T9 + 0.18327 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.7078 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.06 * tfactors.T943i + (1.0/3.0) * 1.28239 * tfactors.T923i + -1.76356 + (5.0/3.0) * 0.18327 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12867,7 +14734,7 @@ void rate_Cu61_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu61_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu61_to_He4_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 --> He4 + Co57 @@ -12882,9 +14749,13 @@ void rate_Cu61_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.2903 + -58.7692 * tfactors.T9i + -94.2152 * tfactors.T913i + 0.976269 * tfactors.T913 + -2.37283 * tfactors.T9 + 0.195501 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.7692 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.2152 * tfactors.T943i + (1.0/3.0) * 0.976269 * tfactors.T923i + -2.37283 + (5.0/3.0) * 0.195501 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12899,7 +14770,7 @@ void rate_Cu61_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu62_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu62_to_n_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 --> n + Cu61 @@ -12914,9 +14785,13 @@ void rate_Cu62_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.3353 + -103.112 * tfactors.T9i + -0.404348 * tfactors.T913 + 0.218353 * tfactors.T9 + -0.0562018 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.112 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.404348 * tfactors.T923i + 0.218353 + (5.0/3.0) * -0.0562018 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12931,7 +14806,7 @@ void rate_Cu62_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu62_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu62_to_p_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 --> p + Ni61 @@ -12946,9 +14821,13 @@ void rate_Cu62_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.0341 + -68.0711 * tfactors.T9i + -39.0635 * tfactors.T913i + 2.03251 * tfactors.T913 + -1.66085 * tfactors.T9 + 0.123527 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 68.0711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0635 * tfactors.T943i + (1.0/3.0) * 2.03251 * tfactors.T923i + -1.66085 + (5.0/3.0) * 0.123527 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12963,7 +14842,7 @@ void rate_Cu62_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu62_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu62_to_He4_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 --> He4 + Co58 @@ -12978,9 +14857,13 @@ void rate_Cu62_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.2108 + -62.396 * tfactors.T9i + -94.2508 * tfactors.T913i + 1.47146 * tfactors.T913 + -2.87996 * tfactors.T9 + 0.26554 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 62.396 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.2508 * tfactors.T943i + (1.0/3.0) * 1.47146 * tfactors.T923i + -2.87996 + (5.0/3.0) * 0.26554 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -12995,7 +14878,7 @@ void rate_Cu62_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu63_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu63_to_n_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 --> n + Cu62 @@ -13010,9 +14893,13 @@ void rate_Cu63_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.4014 + -125.944 * tfactors.T9i + -0.723484 * tfactors.T913 + 0.215177 * tfactors.T9 + -0.0473749 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 125.944 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.723484 * tfactors.T923i + 0.215177 + (5.0/3.0) * -0.0473749 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13027,7 +14914,7 @@ void rate_Cu63_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu63_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu63_to_p_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 --> p + Ni62 @@ -13042,9 +14929,13 @@ void rate_Cu63_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.8332 + -71.0475 * tfactors.T9i + -39.0669 * tfactors.T913i + 1.33156 * tfactors.T913 + -1.30043 * tfactors.T9 + 0.0961101 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 71.0475 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0669 * tfactors.T943i + (1.0/3.0) * 1.33156 * tfactors.T923i + -1.30043 + (5.0/3.0) * 0.0961101 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13059,7 +14950,7 @@ void rate_Cu63_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu63_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu63_to_He4_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 --> He4 + Co59 @@ -13074,9 +14965,13 @@ void rate_Cu63_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.1118 + -67.0281 * tfactors.T9i + -94.2852 * tfactors.T913i + 1.64751 * tfactors.T913 + -2.1637 * tfactors.T9 + 0.119598 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.0281 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.2852 * tfactors.T943i + (1.0/3.0) * 1.64751 * tfactors.T923i + -2.1637 + (5.0/3.0) * 0.119598 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13091,7 +14986,7 @@ void rate_Cu63_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu64_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu64_to_n_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 --> n + Cu63 @@ -13106,9 +15001,13 @@ void rate_Cu64_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 51.3753 + -91.9819 * tfactors.T9i + 11.3982 * tfactors.T913i + -24.4222 * tfactors.T913 + 1.95364 * tfactors.T9 + -0.18693 * tfactors.T953 + 11.7458 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.9819 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 11.3982 * tfactors.T943i + (1.0/3.0) * -24.4222 * tfactors.T923i + 1.95364 + (5.0/3.0) * -0.18693 * tfactors.T923 + 11.7458 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13123,7 +15022,7 @@ void rate_Cu64_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu64_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu64_to_p_Ni63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 --> p + Ni63 @@ -13138,9 +15037,13 @@ void rate_Cu64_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.5721 + -83.5601 * tfactors.T9i + -39.0703 * tfactors.T913i + -4.4238 * tfactors.T913 + -0.152239 * tfactors.T9 + 0.0171937 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 83.5601 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0703 * tfactors.T943i + (1.0/3.0) * -4.4238 * tfactors.T923i + -0.152239 + (5.0/3.0) * 0.0171937 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13155,7 +15058,7 @@ void rate_Cu64_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu65_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu65_to_n_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu65 --> n + Cu64 @@ -13170,9 +15073,13 @@ void rate_Cu65_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 42.2436 + -115.009 * tfactors.T9i + -2.31276 * tfactors.T913 + 0.434599 * tfactors.T9 + -0.0715678 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 115.009 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.31276 * tfactors.T923i + 0.434599 + (5.0/3.0) * -0.0715678 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13187,7 +15094,7 @@ void rate_Cu65_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Cu65_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Cu65_to_p_Ni64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu65 --> p + Ni64 @@ -13202,9 +15109,13 @@ void rate_Cu65_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.9637 + -86.4924 * tfactors.T9i + -39.0735 * tfactors.T913i + 1.76823 * tfactors.T913 + -1.38855 * tfactors.T9 + 0.0515179 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 86.4924 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0735 * tfactors.T943i + (1.0/3.0) * 1.76823 * tfactors.T923i + -1.38855 + (5.0/3.0) * 0.0515179 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13219,7 +15130,7 @@ void rate_Cu65_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 --> p + Cu58 @@ -13234,9 +15145,13 @@ void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 58.3404 + -31.0762 * tfactors.T9i + -209.408 * tfactors.T913i + 176.007 * tfactors.T913 + -6.98867 * tfactors.T9 + 0.295678 * tfactors.T953 + -109.048 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.0762 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -209.408 * tfactors.T943i + (1.0/3.0) * 176.007 * tfactors.T923i + -6.98867 + (5.0/3.0) * 0.295678 * tfactors.T923 + -109.048 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13251,9 +15166,13 @@ void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.5896 + -32.4274 * tfactors.T9i + -142.882 * tfactors.T913i + 138.901 * tfactors.T913 + -5.7482 * tfactors.T9 + 0.223571 * tfactors.T953 + -83.1553 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 32.4274 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -142.882 * tfactors.T943i + (1.0/3.0) * 138.901 * tfactors.T923i + -5.7482 + (5.0/3.0) * 0.223571 * tfactors.T923 + -83.1553 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13268,9 +15187,13 @@ void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 56.5341 + -33.5916 * tfactors.T9i + -36.2109 * tfactors.T913i + -10.0201 * tfactors.T913 + 0.882265 * tfactors.T9 + -0.0954725 * tfactors.T953 + 4.78794 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.5916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2109 * tfactors.T943i + (1.0/3.0) * -10.0201 * tfactors.T923i + 0.882265 + (5.0/3.0) * -0.0954725 * tfactors.T923 + 4.78794 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13285,7 +15208,7 @@ void rate_Zn59_to_p_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn59_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 --> p + Ni58 @@ -13300,8 +15223,12 @@ void rate_Zn59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.57052; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13316,7 +15243,7 @@ void rate_Zn59_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn60_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn60_to_n_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 --> n + Zn59 @@ -13331,9 +15258,13 @@ void rate_Zn60_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.8125 + -174.051 * tfactors.T9i + 0.65324 * tfactors.T913 + -0.0259697 * tfactors.T9 + -0.00407906 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 174.051 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.65324 * tfactors.T923i + -0.0259697 + (5.0/3.0) * -0.00407906 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13348,7 +15279,7 @@ void rate_Zn60_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn60_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn60_to_p_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 --> p + Cu59 @@ -13363,9 +15294,13 @@ void rate_Zn60_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.2929 + -59.4094 * tfactors.T9i + -39.9808 * tfactors.T913i + 1.17311 * tfactors.T913 + -2.90486 * tfactors.T9 + 0.339644 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.4094 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 1.17311 * tfactors.T923i + -2.90486 + (5.0/3.0) * 0.339644 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13380,7 +15315,7 @@ void rate_Zn60_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn60_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn60_to_He4_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 --> He4 + Ni56 @@ -13395,9 +15330,13 @@ void rate_Zn60_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.0619 + -31.4367 * tfactors.T9i + -96.4898 * tfactors.T913i + 6.47209 * tfactors.T913 + -5.2029 * tfactors.T9 + 0.533391 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.4367 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.4898 * tfactors.T943i + (1.0/3.0) * 6.47209 * tfactors.T923i + -5.2029 + (5.0/3.0) * 0.533391 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13412,7 +15351,7 @@ void rate_Zn60_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn61_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn61_to_n_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 --> n + Zn60 @@ -13427,9 +15366,13 @@ void rate_Zn61_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.7839 + -118.702 * tfactors.T9i + 0.0559751 * tfactors.T913 + 0.208641 * tfactors.T9 + -0.0357451 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 118.702 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.0559751 * tfactors.T923i + 0.208641 + (5.0/3.0) * -0.0357451 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13444,7 +15387,7 @@ void rate_Zn61_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn61_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn61_to_p_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 --> p + Cu60 @@ -13459,9 +15402,13 @@ void rate_Zn61_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.9142 + -61.3919 * tfactors.T9i + -39.9846 * tfactors.T913i + 3.2392 * tfactors.T913 + -2.37211 * tfactors.T9 + 0.239391 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.3919 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9846 * tfactors.T943i + (1.0/3.0) * 3.2392 * tfactors.T923i + -2.37211 + (5.0/3.0) * 0.239391 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13476,7 +15423,7 @@ void rate_Zn61_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn61_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn61_to_He4_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 --> He4 + Ni57 @@ -13491,9 +15438,13 @@ void rate_Zn61_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.4776 + -31.1979 * tfactors.T9i + -96.5275 * tfactors.T913i + 5.42001 * tfactors.T913 + -3.93988 * tfactors.T9 + 0.358068 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.1979 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.5275 * tfactors.T943i + (1.0/3.0) * 5.42001 * tfactors.T923i + -3.93988 + (5.0/3.0) * 0.358068 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13508,7 +15459,7 @@ void rate_Zn61_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn62_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn62_to_n_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 --> n + Zn61 @@ -13523,9 +15474,13 @@ void rate_Zn62_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.7699 + -149.667 * tfactors.T9i + 0.174908 * tfactors.T913 + 0.222207 * tfactors.T9 + -0.0495297 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 149.667 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.174908 * tfactors.T923i + 0.222207 + (5.0/3.0) * -0.0495297 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13540,7 +15495,7 @@ void rate_Zn62_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn62_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn62_to_p_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 --> p + Cu61 @@ -13555,9 +15510,13 @@ void rate_Zn62_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.6372 + -75.1596 * tfactors.T9i + -39.9882 * tfactors.T913i + 2.26956 * tfactors.T913 + -1.69006 * tfactors.T9 + 0.132363 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.1596 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9882 * tfactors.T943i + (1.0/3.0) * 2.26956 * tfactors.T923i + -1.69006 + (5.0/3.0) * 0.132363 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13572,7 +15531,7 @@ void rate_Zn62_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn62_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn62_to_He4_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 --> He4 + Ni58 @@ -13587,9 +15546,13 @@ void rate_Zn62_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 87.8504 + -39.0915 * tfactors.T9i + -96.5638 * tfactors.T913i + 2.81593 * tfactors.T913 + -2.43398 * tfactors.T9 + 0.140051 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.0915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.5638 * tfactors.T943i + (1.0/3.0) * 2.81593 * tfactors.T923i + -2.43398 + (5.0/3.0) * 0.140051 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13604,7 +15567,7 @@ void rate_Zn62_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn63_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn63_to_n_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 --> n + Zn62 @@ -13619,9 +15582,13 @@ void rate_Zn63_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.7908 + -105.751 * tfactors.T9i + -0.365196 * tfactors.T913 + 0.230327 * tfactors.T9 + -0.0605553 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 105.751 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.365196 * tfactors.T923i + 0.230327 + (5.0/3.0) * -0.0605553 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13636,7 +15603,7 @@ void rate_Zn63_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn63_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn63_to_p_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 --> p + Cu62 @@ -13651,9 +15618,13 @@ void rate_Zn63_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.9432 + -77.7984 * tfactors.T9i + -39.9917 * tfactors.T913i + 2.6186 * tfactors.T913 + -1.69105 * tfactors.T9 + 0.132898 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.7984 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9917 * tfactors.T943i + (1.0/3.0) * 2.6186 * tfactors.T923i + -1.69105 + (5.0/3.0) * 0.132898 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13668,7 +15639,7 @@ void rate_Zn63_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn63_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn63_to_He4_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 --> He4 + Ni59 @@ -13683,9 +15654,13 @@ void rate_Zn63_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.047 + -40.4102 * tfactors.T9i + -96.5991 * tfactors.T913i + 2.66136 * tfactors.T913 + -2.36841 * tfactors.T9 + 0.148474 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.4102 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.5991 * tfactors.T943i + (1.0/3.0) * 2.66136 * tfactors.T923i + -2.36841 + (5.0/3.0) * 0.148474 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13700,7 +15675,7 @@ void rate_Zn63_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn64_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn64_to_n_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 --> n + Zn63 @@ -13715,9 +15690,13 @@ void rate_Zn64_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.3222 + -137.651 * tfactors.T9i + -0.526805 * tfactors.T913 + 0.294653 * tfactors.T9 + -0.0660418 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 137.651 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.526805 * tfactors.T923i + 0.294653 + (5.0/3.0) * -0.0660418 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13732,7 +15711,7 @@ void rate_Zn64_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn64_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn64_to_p_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 --> p + Cu63 @@ -13747,9 +15726,13 @@ void rate_Zn64_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 62.194 + -89.5055 * tfactors.T9i + -39.995 * tfactors.T913i + 1.69705 * tfactors.T913 + -1.11391 * tfactors.T9 + 0.0416287 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.5055 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.995 * tfactors.T943i + (1.0/3.0) * 1.69705 * tfactors.T923i + -1.11391 + (5.0/3.0) * 0.0416287 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13764,7 +15747,7 @@ void rate_Zn64_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn64_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn64_to_He4_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 --> He4 + Ni60 @@ -13779,9 +15762,13 @@ void rate_Zn64_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.0883 + -45.912 * tfactors.T9i + -96.6332 * tfactors.T913i + 1.06508 * tfactors.T913 + -1.52905 * tfactors.T9 + 0.0316173 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.912 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.6332 * tfactors.T943i + (1.0/3.0) * 1.06508 * tfactors.T923i + -1.52905 + (5.0/3.0) * 0.0316173 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13796,7 +15783,7 @@ void rate_Zn64_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn65_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn65_to_n_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 --> n + Zn64 @@ -13811,9 +15798,13 @@ void rate_Zn65_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.9923 + -92.5665 * tfactors.T9i + -3.1973 * tfactors.T913i + 6.0545 * tfactors.T913 + 0.171155 * tfactors.T9 + -0.0905702 * tfactors.T953 + -1.39286 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.5665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.1973 * tfactors.T943i + (1.0/3.0) * 6.0545 * tfactors.T923i + 0.171155 + (5.0/3.0) * -0.0905702 * tfactors.T923 + -1.39286 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13828,7 +15819,7 @@ void rate_Zn65_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn65_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn65_to_p_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 --> p + Cu64 @@ -13843,9 +15834,13 @@ void rate_Zn65_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.97 + -90.2404 * tfactors.T9i + -39.9983 * tfactors.T913i + -2.9846 * tfactors.T913 + 0.0709769 * tfactors.T9 + -0.0519569 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.2404 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9983 * tfactors.T943i + (1.0/3.0) * -2.9846 * tfactors.T923i + 0.0709769 + (5.0/3.0) * -0.0519569 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13860,7 +15855,7 @@ void rate_Zn65_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn65_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn65_to_He4_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 --> He4 + Ni61 @@ -13875,9 +15870,13 @@ void rate_Zn65_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 88.4751 + -47.7597 * tfactors.T9i + -96.6663 * tfactors.T913i + 2.54794 * tfactors.T913 + -2.65791 * tfactors.T9 + 0.204247 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.7597 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.6663 * tfactors.T943i + (1.0/3.0) * 2.54794 * tfactors.T923i + -2.65791 + (5.0/3.0) * 0.204247 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13892,7 +15891,7 @@ void rate_Zn65_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn66_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn66_to_n_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn66 --> n + Zn65 @@ -13907,9 +15906,13 @@ void rate_Zn66_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 53.0981 + -128.372 * tfactors.T9i + 5.38411 * tfactors.T913i + -18.0063 * tfactors.T913 + 1.89109 * tfactors.T9 + -0.191482 * tfactors.T953 + 7.34419 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 128.372 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.38411 * tfactors.T943i + (1.0/3.0) * -18.0063 * tfactors.T923i + 1.89109 + (5.0/3.0) * -0.191482 * tfactors.T923 + 7.34419 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13924,7 +15927,7 @@ void rate_Zn66_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn66_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn66_to_p_Cu65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn66 --> p + Cu65 @@ -13939,9 +15942,13 @@ void rate_Zn66_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.9444 + -103.567 * tfactors.T9i + -40.0015 * tfactors.T913i + 2.89473 * tfactors.T913 + -1.70171 * tfactors.T9 + 0.092664 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 103.567 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.0015 * tfactors.T943i + (1.0/3.0) * 2.89473 * tfactors.T923i + -1.70171 + (5.0/3.0) * 0.092664 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13956,7 +15963,7 @@ void rate_Zn66_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Zn66_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Zn66_to_He4_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn66 --> He4 + Ni62 @@ -13971,9 +15978,13 @@ void rate_Zn66_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 89.663 + -53.1283 * tfactors.T9i + -96.6983 * tfactors.T913i + 0.80536 * tfactors.T913 + -1.39385 * tfactors.T9 + 0.000644409 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.1283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -96.6983 * tfactors.T943i + (1.0/3.0) * 0.80536 * tfactors.T923i + -1.39385 + (5.0/3.0) * 0.000644409 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -13988,7 +15999,7 @@ void rate_Zn66_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 --> p + Zn61 @@ -14003,9 +16014,13 @@ void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.18997 + -48.9859 * tfactors.T9i + 207.487 * tfactors.T913i + -181.718 * tfactors.T913 + 5.86358 * tfactors.T9 + -0.221479 * tfactors.T953 + 121.305 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 48.9859 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 207.487 * tfactors.T943i + (1.0/3.0) * -181.718 * tfactors.T923i + 5.86358 + (5.0/3.0) * -0.221479 * tfactors.T923 + 121.305 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14020,9 +16035,13 @@ void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11301.2 + -125.341 * tfactors.T9i + 6932.15 * tfactors.T913i + -20433.4 * tfactors.T913 + 2726.25 * tfactors.T9 + -416.477 * tfactors.T953 + 7005.24 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 125.341 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6932.15 * tfactors.T943i + (1.0/3.0) * -20433.4 * tfactors.T923i + 2726.25 + (5.0/3.0) * -416.477 * tfactors.T923 + 7005.24 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14037,9 +16056,13 @@ void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 60.6455 + -34.2325 * tfactors.T9i + -36.9213 * tfactors.T913i + -12.8434 * tfactors.T913 + 1.30735 * tfactors.T9 + -0.136745 * tfactors.T953 + 5.41008 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.2325 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.9213 * tfactors.T943i + (1.0/3.0) * -12.8434 * tfactors.T923i + 1.30735 + (5.0/3.0) * -0.136745 * tfactors.T923 + 5.41008 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14054,7 +16077,7 @@ void rate_Ga62_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga62_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga62_to_He4_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 --> He4 + Cu58 @@ -14069,9 +16092,13 @@ void rate_Ga62_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 103.952 + -32.0666 * tfactors.T9i + -98.8498 * tfactors.T913i + -21.411 * tfactors.T913 + 1.84489 * tfactors.T9 + -0.142549 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 32.0666 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.8498 * tfactors.T943i + (1.0/3.0) * -21.411 * tfactors.T923i + 1.84489 + (5.0/3.0) * -0.142549 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14086,7 +16113,7 @@ void rate_Ga62_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga63_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga63_to_n_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 --> n + Ga62 @@ -14101,9 +16128,13 @@ void rate_Ga63_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.9806 + -146.426 * tfactors.T9i + -0.413123 * tfactors.T913 + 0.505609 * tfactors.T9 + -0.0792987 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 146.426 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.413123 * tfactors.T923i + 0.505609 + (5.0/3.0) * -0.0792987 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14118,7 +16149,7 @@ void rate_Ga63_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 --> p + Zn62 @@ -14133,9 +16164,13 @@ void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.133 + -52.7571 * tfactors.T9i + 181.058 * tfactors.T913i + -128.039 * tfactors.T913 + 5.3613 * tfactors.T9 + -0.329542 * tfactors.T953 + 88.9371 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 52.7571 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 181.058 * tfactors.T943i + (1.0/3.0) * -128.039 * tfactors.T923i + 5.3613 + (5.0/3.0) * -0.329542 * tfactors.T923 + 88.9371 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14150,9 +16185,13 @@ void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 59.4822 + -31.1177 * tfactors.T9i + -31.4331 * tfactors.T913i + -19.7752 * tfactors.T913 + 1.69239 * tfactors.T9 + -0.16473 * tfactors.T953 + 9.1608 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.1177 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.4331 * tfactors.T943i + (1.0/3.0) * -19.7752 * tfactors.T923i + 1.69239 + (5.0/3.0) * -0.16473 * tfactors.T923 + 9.1608 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14167,9 +16206,13 @@ void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7911.23 + -90.8719 * tfactors.T9i + 4643.34 * tfactors.T913i + -14105.9 * tfactors.T913 + 1925.65 * tfactors.T9 + -299.872 * tfactors.T953 + 4770.14 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.8719 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4643.34 * tfactors.T943i + (1.0/3.0) * -14105.9 * tfactors.T923i + 1925.65 + (5.0/3.0) * -299.872 * tfactors.T923 + 4770.14 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14184,9 +16227,13 @@ void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6876 + -52.939 * tfactors.T9i + 516.062 * tfactors.T913i + -567.538 * tfactors.T913 + 23.7454 * tfactors.T9 + -1.02526 * tfactors.T953 + 329.36 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 52.939 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 516.062 * tfactors.T943i + (1.0/3.0) * -567.538 * tfactors.T923i + 23.7454 + (5.0/3.0) * -1.02526 * tfactors.T923 + 329.36 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14201,7 +16248,7 @@ void rate_Ga63_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga63_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga63_to_He4_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 --> He4 + Cu59 @@ -14216,9 +16263,13 @@ void rate_Ga63_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 93.0086 + -30.3432 * tfactors.T9i + -98.8858 * tfactors.T913i + -2.92113 * tfactors.T913 + -2.38226 * tfactors.T9 + 0.272994 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.3432 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.8858 * tfactors.T943i + (1.0/3.0) * -2.92113 * tfactors.T923i + -2.38226 + (5.0/3.0) * 0.272994 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14233,7 +16284,7 @@ void rate_Ga63_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga64_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga64_to_n_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 --> n + Ga63 @@ -14248,9 +16299,13 @@ void rate_Ga64_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.8755 + -120.206 * tfactors.T9i + 1.0342 * tfactors.T913 + 0.0882306 * tfactors.T9 + -0.0437444 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.206 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.0342 * tfactors.T923i + 0.0882306 + (5.0/3.0) * -0.0437444 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14265,7 +16320,7 @@ void rate_Ga64_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga64_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga64_to_p_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 --> p + Zn63 @@ -14280,9 +16335,13 @@ void rate_Ga64_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 61.9074 + -45.3767 * tfactors.T9i + -40.9093 * tfactors.T913i + 2.88162 * tfactors.T913 + -2.11741 * tfactors.T9 + 0.191601 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.3767 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9093 * tfactors.T943i + (1.0/3.0) * 2.88162 * tfactors.T923i + -2.11741 + (5.0/3.0) * 0.191601 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14297,7 +16356,7 @@ void rate_Ga64_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ga64_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ga64_to_He4_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 --> He4 + Cu60 @@ -14312,9 +16371,13 @@ void rate_Ga64_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 92.8863 + -33.8287 * tfactors.T9i + -98.9207 * tfactors.T913i + 0.933671 * tfactors.T913 + -3.79958 * tfactors.T9 + 0.446216 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.8287 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.9207 * tfactors.T943i + (1.0/3.0) * 0.933671 * tfactors.T923i + -3.79958 + (5.0/3.0) * 0.446216 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14329,7 +16392,7 @@ void rate_Ga64_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 --> p + Ga62 @@ -14344,9 +16407,13 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9653.53 + -138.896 * tfactors.T9i + 6926.61 * tfactors.T913i + -18459.0 * tfactors.T913 + 2374.61 * tfactors.T9 + -366.508 * tfactors.T953 + 6588.46 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 138.896 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6926.61 * tfactors.T943i + (1.0/3.0) * -18459.0 * tfactors.T923i + 2374.61 + (5.0/3.0) * -366.508 * tfactors.T923 + 6588.46 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14361,9 +16428,13 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 52.0997 + -25.9182 * tfactors.T9i + -45.5057 * tfactors.T913i + 1.9831 * tfactors.T913 + -0.147339 * tfactors.T9 + -0.0169469 * tfactors.T953 + -0.96033 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.9182 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.5057 * tfactors.T943i + (1.0/3.0) * 1.9831 * tfactors.T923i + -0.147339 + (5.0/3.0) * -0.0169469 * tfactors.T923 + -0.96033 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14378,9 +16449,13 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 290.665 + -26.1495 * tfactors.T9i + -8.15451 * tfactors.T913i + -301.681 * tfactors.T913 + 33.0147 * tfactors.T9 + -2.8672 * tfactors.T953 + 72.2354 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.1495 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.15451 * tfactors.T943i + (1.0/3.0) * -301.681 * tfactors.T923i + 33.0147 + (5.0/3.0) * -2.8672 * tfactors.T923 + 72.2354 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14395,9 +16470,13 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 45.3582 + -27.0759 * tfactors.T9i + -107.856 * tfactors.T913i + 80.6244 * tfactors.T913 + -2.84514 * tfactors.T9 + 0.087641 * tfactors.T953 + -55.0078 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.0759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -107.856 * tfactors.T943i + (1.0/3.0) * 80.6244 * tfactors.T923i + -2.84514 + (5.0/3.0) * 0.087641 * tfactors.T923 + -55.0078 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14412,9 +16491,13 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 76.0205 + -30.5116 * tfactors.T9i + 11.0703 * tfactors.T913i + -66.0297 * tfactors.T913 + 2.89115 * tfactors.T9 + -0.129107 * tfactors.T953 + 30.8214 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.5116 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 11.0703 * tfactors.T943i + (1.0/3.0) * -66.0297 * tfactors.T923i + 2.89115 + (5.0/3.0) * -0.129107 * tfactors.T923 + 30.8214 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14429,7 +16512,7 @@ void rate_Ge63_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge63_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge63_to_He4_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 --> He4 + Zn59 @@ -14444,9 +16527,13 @@ void rate_Ge63_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 101.382 + -24.5389 * tfactors.T9i + -101.146 * tfactors.T913i + -14.3723 * tfactors.T913 + 0.893059 * tfactors.T9 + -0.0564743 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.5389 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -101.146 * tfactors.T943i + (1.0/3.0) * -14.3723 * tfactors.T923i + 0.893059 + (5.0/3.0) * -0.0564743 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14461,7 +16548,7 @@ void rate_Ge63_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge64_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge64_to_n_Ge63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge64 --> n + Ge63 @@ -14476,9 +16563,13 @@ void rate_Ge64_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.4278 + -179.145 * tfactors.T9i + 0.20987 * tfactors.T913 + 0.182208 * tfactors.T9 + -0.0339886 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 179.145 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.20987 * tfactors.T923i + 0.182208 + (5.0/3.0) * -0.0339886 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14493,7 +16584,7 @@ void rate_Ge64_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge64_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge64_to_p_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge64 --> p + Ga63 @@ -14508,9 +16599,13 @@ void rate_Ge64_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 63.0475 + -58.6907 * tfactors.T9i + -41.8134 * tfactors.T913i + 1.45084 * tfactors.T913 + -3.1328 * tfactors.T9 + 0.353318 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.6907 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -41.8134 * tfactors.T943i + (1.0/3.0) * 1.45084 * tfactors.T923i + -3.1328 + (5.0/3.0) * 0.353318 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14525,7 +16620,7 @@ void rate_Ge64_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Ge64_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Ge64_to_He4_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge64 --> He4 + Zn60 @@ -14540,9 +16635,13 @@ void rate_Ge64_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.1182 + -29.6245 * tfactors.T9i + -101.182 * tfactors.T913i + 10.4963 * tfactors.T913 + -7.04215 * tfactors.T9 + 0.732883 * tfactors.T953 + 0.833333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.6245 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -101.182 * tfactors.T943i + (1.0/3.0) * 10.4963 * tfactors.T923i + -7.04215 + (5.0/3.0) * 0.732883 * tfactors.T923 + 0.833333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14557,7 +16656,7 @@ void rate_Ge64_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Li6_to_n_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Li6_to_n_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 --> n + p + He4 @@ -14572,9 +16671,13 @@ void rate_Li6_to_n_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.4196 + -62.2896 * tfactors.T9i + 1.44987 * tfactors.T913i + -1.42759 * tfactors.T913 + 0.0454035 * tfactors.T9 + 0.00471161 * tfactors.T953 + 2.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 62.2896 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.44987 * tfactors.T943i + (1.0/3.0) * -1.42759 * tfactors.T923i + 0.0454035 + (5.0/3.0) * 0.00471161 * tfactors.T923 + 2.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14589,7 +16692,7 @@ void rate_Li6_to_n_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_Be9_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_Be9_to_n_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 --> n + He4 + He4 @@ -14604,9 +16707,13 @@ void rate_Be9_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 37.273 + -18.2597 * tfactors.T9i + -13.3317 * tfactors.T913i + 13.2237 * tfactors.T913 + -9.06339 * tfactors.T9 + 2.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.2597 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.3317 * tfactors.T943i + (1.0/3.0) * 13.2237 * tfactors.T923i + -9.06339 + 2.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14621,9 +16728,13 @@ void rate_Be9_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 38.6902 + -19.2792 * tfactors.T9i + -1.56673 * tfactors.T913i + -5.43497 * tfactors.T913 + 0.673807 * tfactors.T9 + -0.041014 * tfactors.T953 + 1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.2792 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.56673 * tfactors.T943i + (1.0/3.0) * -5.43497 * tfactors.T923i + 0.673807 + (5.0/3.0) * -0.041014 * tfactors.T923 + 1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14638,7 +16749,7 @@ void rate_Be9_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 --> 3 He4 @@ -14653,9 +16764,13 @@ void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 22.394 + -88.5493 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.5493 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14670,9 +16785,13 @@ void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.9561 + -85.4472 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.83333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 85.4472 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.83333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14687,9 +16806,13 @@ void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.7734 + -84.4227 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 84.4227 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14704,7 +16827,7 @@ void rate_C12_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_p_to_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_p_to_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + p --> d @@ -14719,9 +16842,13 @@ void rate_n_p_to_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 12.3687 + -2.70618 * tfactors.T913 + 0.11718 * tfactors.T9 + -0.00312788 * tfactors.T953 + 0.469127 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.70618 * tfactors.T923i + 0.11718 + (5.0/3.0) * -0.00312788 * tfactors.T923 + 0.469127 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14736,9 +16863,13 @@ void rate_n_p_to_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 10.7548 + -2.30472 * tfactors.T913 + -0.887862 * tfactors.T9 + 0.137663 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.30472 * tfactors.T923i + -0.887862 + (5.0/3.0) * 0.137663 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14753,9 +16884,13 @@ void rate_n_p_to_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& ln_set_rate = 8.84688 + -0.0102082 * tfactors.T913 + -0.0893959 * tfactors.T9 + 0.00696704 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.0102082 * tfactors.T923i + -0.0893959 + (5.0/3.0) * 0.00696704 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14770,7 +16905,7 @@ void rate_n_p_to_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -14785,9 +16920,13 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -34.7863 + -3.51193 * tfactors.T913i + 3.10086 * tfactors.T913 + -0.198314 * tfactors.T9 + 0.0126251 * tfactors.T953 + -1.02517 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.51193 * tfactors.T943i + (1.0/3.0) * 3.10086 * tfactors.T923i + -0.198314 + (5.0/3.0) * 0.0126251 * tfactors.T923 + -1.02517 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14802,7 +16941,7 @@ void rate_p_p_to_d_reaclib_bet_pos(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p --> d @@ -14817,9 +16956,13 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r ln_set_rate = -43.6499 + -0.00246064 * tfactors.T9i + -2.7507 * tfactors.T913i + -0.424877 * tfactors.T913 + 0.015987 * tfactors.T9 + -0.000690875 * tfactors.T953 + -0.207625 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00246064 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.7507 * tfactors.T943i + (1.0/3.0) * -0.424877 * tfactors.T923i + 0.015987 + (5.0/3.0) * -0.000690875 * tfactors.T923 + -0.207625 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14834,7 +16977,7 @@ void rate_p_p_to_d_reaclib_electron_capture(const tf_t& tfactors, amrex::Real& r template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_d_to_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + p --> He3 @@ -14849,9 +16992,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 8.93525 + -3.7208 * tfactors.T913i + 0.198654 * tfactors.T913 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.198654 * tfactors.T923i + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14866,9 +17013,13 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 7.52898 + -3.7208 * tfactors.T913i + 0.871782 * tfactors.T913 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.7208 * tfactors.T943i + (1.0/3.0) * 0.871782 * tfactors.T923i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14883,7 +17034,7 @@ void rate_p_d_to_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_d_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + d --> He4 @@ -14898,9 +17049,13 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea ln_set_rate = 3.78177 + -4.26166 * tfactors.T913i + -0.119233 * tfactors.T913 + 0.778829 * tfactors.T9 + -0.0925203 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -4.26166 * tfactors.T943i + (1.0/3.0) * -0.119233 * tfactors.T923i + 0.778829 + (5.0/3.0) * -0.0925203 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14915,7 +17070,7 @@ void rate_d_d_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Rea template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_d_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_d_to_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + He4 --> Li6 @@ -14930,9 +17085,13 @@ void rate_He4_d_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 4.12313 + -7.889 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.889 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14947,9 +17106,13 @@ void rate_He4_d_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -0.676485 + 6.3911e-05 * tfactors.T9i + -7.55198 * tfactors.T913i + 5.77546 * tfactors.T913 + -0.487854 * tfactors.T9 + 0.032833 * tfactors.T953 + -1.12305 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -6.3911e-05 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.55198 * tfactors.T943i + (1.0/3.0) * 5.77546 * tfactors.T923i + -0.487854 + (5.0/3.0) * 0.032833 * tfactors.T923 + -1.12305 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14964,7 +17127,7 @@ void rate_He4_d_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_He3_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + n --> He4 @@ -14979,9 +17142,13 @@ void rate_n_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.04572 + -1.50147 * tfactors.T913 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.50147 * tfactors.T923i + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -14996,8 +17163,12 @@ void rate_n_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.51711; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15012,7 +17183,7 @@ void rate_n_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + p --> He4 @@ -15027,9 +17198,13 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -27.7611 + -4.30107e-12 * tfactors.T9i + -6.141 * tfactors.T913i + -1.93473e-09 * tfactors.T913 + 2.04145e-10 * tfactors.T9 + -1.80372e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.30107e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.141 * tfactors.T943i + (1.0/3.0) * -1.93473e-09 * tfactors.T923i + 2.04145e-10 + (5.0/3.0) * -1.80372e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15044,7 +17219,7 @@ void rate_p_He3_to_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He4 --> Be7 @@ -15059,9 +17234,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7075 + -12.8271 * tfactors.T913i + -3.8126 * tfactors.T913 + 0.0942285 * tfactors.T9 + -0.00301018 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -3.8126 * tfactors.T923i + 0.0942285 + (5.0/3.0) * -0.00301018 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15076,9 +17255,13 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.6099 + -12.8271 * tfactors.T913i + -0.0308225 * tfactors.T913 + -0.654685 * tfactors.T9 + 0.0896331 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.8271 * tfactors.T943i + (1.0/3.0) * -0.0308225 * tfactors.T923i + -0.654685 + (5.0/3.0) * 0.0896331 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15093,7 +17276,7 @@ void rate_He4_He3_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Li6_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Li6_to_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + n --> Li7 @@ -15108,8 +17291,12 @@ void rate_n_Li6_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.04782; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15124,7 +17311,7 @@ void rate_n_Li6_to_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li6_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li6_to_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + p --> Be7 @@ -15139,9 +17326,13 @@ void rate_p_Li6_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.2792 + -8.4372 * tfactors.T913i + -0.515473 * tfactors.T913 + 0.0285578 * tfactors.T9 + 0.00879731 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.4372 * tfactors.T943i + (1.0/3.0) * -0.515473 * tfactors.T923i + 0.0285578 + (5.0/3.0) * 0.00879731 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15156,7 +17347,7 @@ void rate_p_Li6_to_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Li6_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Li6_to_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + He4 --> B10 @@ -15171,9 +17362,13 @@ void rate_He4_Li6_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 1.04267 + -3.71313 * tfactors.T9i + 3.33334 * tfactors.T913i + 3.25335 * tfactors.T913 + 0.374434 * tfactors.T9 + -0.0706244 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.71313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.33334 * tfactors.T943i + (1.0/3.0) * 3.25335 * tfactors.T923i + 0.374434 + (5.0/3.0) * -0.0706244 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15188,9 +17383,13 @@ void rate_He4_Li6_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.2167 + -18.79 * tfactors.T913i + 0.234225 * tfactors.T913 + 3.23344 * tfactors.T9 + -1.14529 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.79 * tfactors.T943i + (1.0/3.0) * 0.234225 * tfactors.T923i + 3.23344 + (5.0/3.0) * -1.14529 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15205,7 +17404,7 @@ void rate_He4_Li6_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + He4 --> B11 @@ -15220,9 +17419,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 10.6937 + -6.44203 * tfactors.T9i + 0.190698 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.44203 * tfactors.T9i * tfactors.T9i + 0.190698 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15237,9 +17440,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.81084 + -2.95915 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.95915 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15254,9 +17461,13 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.4284 + -19.163 * tfactors.T913i + 0.0587651 * tfactors.T913 + 0.773338 * tfactors.T9 + -0.201519 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -19.163 * tfactors.T943i + (1.0/3.0) * 0.0587651 * tfactors.T923i + 0.773338 + (5.0/3.0) * -0.201519 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15271,7 +17482,7 @@ void rate_He4_Li7_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + p --> B8 @@ -15286,9 +17497,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 7.73399 + -7.345 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.345 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15303,9 +17518,13 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re ln_set_rate = 12.5315 + -10.264 * tfactors.T913i + -0.203472 * tfactors.T913 + 0.121083 * tfactors.T9 + -0.00700063 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.264 * tfactors.T943i + (1.0/3.0) * -0.203472 * tfactors.T923i + 0.121083 + (5.0/3.0) * -0.00700063 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15320,7 +17539,7 @@ void rate_p_Be7_to_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Re template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 + p --> B10 @@ -15335,9 +17554,13 @@ void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.68698 + -2.59506 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.59506 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15352,9 +17575,13 @@ void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 16.2908 + -10.361 * tfactors.T913i + 0.695179 * tfactors.T913 + 0.342365 * tfactors.T9 + -0.356569 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.361 * tfactors.T943i + (1.0/3.0) * 0.695179 * tfactors.T923i + 0.342365 + (5.0/3.0) * -0.356569 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15369,9 +17596,13 @@ void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.9657 + -11.5391 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.5391 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15386,7 +17617,7 @@ void rate_p_Be9_to_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_B10_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_B10_to_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 + n --> B11 @@ -15401,9 +17632,13 @@ void rate_n_B10_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 11.1004 + -1.9027e-12 * tfactors.T9i + 2.65756e-10 * tfactors.T913i + -9.63588e-10 * tfactors.T913 + 1.07466e-10 * tfactors.T9 + -9.87569e-12 * tfactors.T953 + 3.12603e-10 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.9027e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.65756e-10 * tfactors.T943i + (1.0/3.0) * -9.63588e-10 * tfactors.T923i + 1.07466e-10 + (5.0/3.0) * -9.87569e-12 * tfactors.T923 + 3.12603e-10 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15418,7 +17653,7 @@ void rate_n_B10_to_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + p --> C12 @@ -15433,9 +17668,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 25.5647 + -12.095 * tfactors.T913i + -6.68421 * tfactors.T913 + -0.0148736 * tfactors.T9 + 0.0364288 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -6.68421 * tfactors.T923i + -0.0148736 + (5.0/3.0) * 0.0364288 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15450,9 +17689,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.6165 + -12.095 * tfactors.T913i + -1.95046 * tfactors.T913 + 9.56928 * tfactors.T9 + -10.0637 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.095 * tfactors.T943i + (1.0/3.0) * -1.95046 * tfactors.T923i + 9.56928 + (5.0/3.0) * -10.0637 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15467,9 +17710,13 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 8.67352 + -1.71197 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71197 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15484,7 +17731,7 @@ void rate_p_B11_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_C12_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_C12_to_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + n --> C13 @@ -15499,9 +17746,13 @@ void rate_n_C12_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.98821 + -0.00836732 * tfactors.T9i + 1.49573 * tfactors.T913i + -0.841102 * tfactors.T913 + 0.0340543 * tfactors.T9 + -0.0026392 * tfactors.T953 + 1.6662 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00836732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.49573 * tfactors.T943i + (1.0/3.0) * -0.841102 * tfactors.T923i + 0.0340543 + (5.0/3.0) * -0.0026392 * tfactors.T923 + 1.6662 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15516,7 +17767,7 @@ void rate_n_C12_to_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + p --> N13 @@ -15531,9 +17782,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15548,9 +17803,13 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15565,7 +17824,7 @@ void rate_p_C12_to_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> O16 @@ -15580,9 +17839,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15597,9 +17860,13 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15614,7 +17881,7 @@ void rate_He4_C12_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_C13_to_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_C13_to_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + n --> C14 @@ -15629,9 +17896,13 @@ void rate_n_C13_to_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 35.3048 + -0.133687 * tfactors.T9i + 18.3578 * tfactors.T913i + -46.5786 * tfactors.T913 + 2.58472 * tfactors.T9 + -0.118622 * tfactors.T953 + 19.9142 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.133687 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.3578 * tfactors.T943i + (1.0/3.0) * -46.5786 * tfactors.T923i + 2.58472 + (5.0/3.0) * -0.118622 * tfactors.T923 + 19.9142 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15646,7 +17917,7 @@ void rate_n_C13_to_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> N14 @@ -15661,9 +17932,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15678,9 +17953,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15695,9 +17974,13 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15712,7 +17995,7 @@ void rate_p_C13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C14_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + p --> N15 @@ -15727,9 +18010,13 @@ void rate_p_C14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.1024 + -1.52341 * tfactors.T9i + -10.658 * tfactors.T913i + 1.73644 * tfactors.T913 + -0.350498 * tfactors.T9 + 0.0279902 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.52341 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.658 * tfactors.T943i + (1.0/3.0) * 1.73644 * tfactors.T923i + -0.350498 + (5.0/3.0) * 0.0279902 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15744,9 +18031,13 @@ void rate_p_C14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.119 + -13.9619 * tfactors.T913i + -4.34315 * tfactors.T913 + 6.64922 * tfactors.T9 + -3.22592 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.9619 * tfactors.T943i + (1.0/3.0) * -4.34315 * tfactors.T923i + 6.64922 + (5.0/3.0) * -3.22592 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15761,7 +18052,7 @@ void rate_p_C14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + He4 --> O18 @@ -15776,9 +18067,13 @@ void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.8309 + -10.3983 * tfactors.T9i + -3.83188 * tfactors.T913 + 1.64358 * tfactors.T9 + -0.177785 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3983 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.83188 * tfactors.T923i + 1.64358 + (5.0/3.0) * -0.177785 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15793,9 +18088,13 @@ void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -23.805 + -2.06876 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.06876 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15810,9 +18109,13 @@ void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.4877 + -31.7222 * tfactors.T913i + 11.3923 * tfactors.T913 + -9.92249 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.7222 * tfactors.T943i + (1.0/3.0) * 11.3923 * tfactors.T923i + -9.92249 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15827,7 +18130,7 @@ void rate_He4_C14_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N13_to_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + n --> N14 @@ -15842,9 +18145,13 @@ void rate_n_N13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.9377 + -0.0054652 * tfactors.T9i + 1.72241e-10 * tfactors.T913i + -5.62522e-10 * tfactors.T913 + 5.59212e-11 * tfactors.T9 + -4.6549e-12 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0054652 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.72241e-10 * tfactors.T943i + (1.0/3.0) * -5.62522e-10 * tfactors.T923i + 5.59212e-11 + (5.0/3.0) * -4.6549e-12 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15859,9 +18166,13 @@ void rate_n_N13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -3.63074 + -2.99547 * tfactors.T9i + 9.44873e-10 * tfactors.T913i + -2.33713e-09 * tfactors.T913 + 1.97507e-10 * tfactors.T9 + -1.49747e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.99547 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.44873e-10 * tfactors.T943i + (1.0/3.0) * -2.33713e-09 * tfactors.T923i + 1.97507e-10 + (5.0/3.0) * -1.49747e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15876,7 +18187,7 @@ void rate_n_N13_to_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + p --> O14 @@ -15891,9 +18202,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15908,9 +18223,13 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15925,7 +18244,7 @@ void rate_p_N13_to_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N14_to_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + n --> N15 @@ -15940,9 +18259,13 @@ void rate_n_N14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.1651 + -0.0114078 * tfactors.T9i + 1.396 * tfactors.T913i + -3.47552 * tfactors.T913 + 0.351773 * tfactors.T9 + -0.0229344 * tfactors.T953 + 1.02161 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0114078 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.396 * tfactors.T943i + (1.0/3.0) * -3.47552 * tfactors.T923i + 0.351773 + (5.0/3.0) * -0.0229344 * tfactors.T923 + 1.02161 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15957,7 +18280,7 @@ void rate_n_N14_to_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> O15 @@ -15972,9 +18295,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + 0.0682 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + 0.0682 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -15989,9 +18316,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16006,9 +18337,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16023,9 +18358,13 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16040,7 +18379,7 @@ void rate_p_N14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> F18 @@ -16055,9 +18394,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16072,9 +18415,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16089,9 +18436,13 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16106,7 +18457,7 @@ void rate_He4_N14_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> O16 @@ -16121,9 +18472,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + 0.0459037 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16138,9 +18493,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16155,9 +18514,13 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16172,7 +18535,7 @@ void rate_p_N15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> F19 @@ -16187,9 +18550,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16204,9 +18571,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16221,9 +18592,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16238,9 +18613,13 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16255,7 +18634,7 @@ void rate_He4_N15_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O14_to_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + n --> O15 @@ -16270,9 +18649,13 @@ void rate_n_O14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.87196 + 0.0160481 * tfactors.T9i + -1.38986 * tfactors.T913i + 1.74662 * tfactors.T913 + -0.0276897 * tfactors.T9 + 0.00321014 * tfactors.T953 + -1.06122 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0160481 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.38986 * tfactors.T943i + (1.0/3.0) * 1.74662 * tfactors.T923i + -0.0276897 + (5.0/3.0) * 0.00321014 * tfactors.T923 + -1.06122 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16287,7 +18670,7 @@ void rate_n_O14_to_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> Ne18 @@ -16302,9 +18685,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16319,9 +18706,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + 5.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + 5.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16336,9 +18727,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16353,9 +18748,13 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16370,7 +18769,7 @@ void rate_He4_O14_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O15_to_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + n --> O16 @@ -16385,9 +18784,13 @@ void rate_n_O15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 8.08476 + 0.0135346 * tfactors.T9i + -1.11761 * tfactors.T913i + 1.0167 * tfactors.T913 + 0.0449976 * tfactors.T9 + -0.00204682 * tfactors.T953 + -0.789217 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0135346 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.11761 * tfactors.T943i + (1.0/3.0) * 1.0167 * tfactors.T923i + 0.0449976 + (5.0/3.0) * -0.00204682 * tfactors.T923 + -0.789217 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16402,7 +18805,7 @@ void rate_n_O15_to_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> Ne19 @@ -16417,9 +18820,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16434,9 +18841,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16451,9 +18862,13 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16468,7 +18883,7 @@ void rate_He4_O15_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O16_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O16_to_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + n --> O17 @@ -16483,9 +18898,13 @@ void rate_n_O16_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.21546 + 0.0235015 * tfactors.T9i + -2.11246 * tfactors.T913i + 4.87742 * tfactors.T913 + -0.314426 * tfactors.T9 + 0.0169515 * tfactors.T953 + -0.984784 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0235015 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.11246 * tfactors.T943i + (1.0/3.0) * 4.87742 * tfactors.T923i + -0.314426 + (5.0/3.0) * 0.0169515 * tfactors.T923 + -0.984784 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16500,7 +18919,7 @@ void rate_n_O16_to_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> F17 @@ -16515,9 +18934,13 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16532,7 +18955,7 @@ void rate_p_O16_to_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> Ne20 @@ -16547,9 +18970,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16564,9 +18991,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16581,9 +19012,13 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16598,7 +19033,7 @@ void rate_He4_O16_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O17_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O17_to_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + n --> O18 @@ -16613,9 +19048,13 @@ void rate_n_O17_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 4.27026 + -5.69067e-13 * tfactors.T9i + 7.48144e-11 * tfactors.T913i + -2.47239e-10 * tfactors.T913 + 2.48052e-11 * tfactors.T9 + -2.07736e-12 * tfactors.T953 + 8.43048e-11 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.69067e-13 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.48144e-11 * tfactors.T943i + (1.0/3.0) * -2.47239e-10 * tfactors.T923i + 2.48052e-11 + (5.0/3.0) * -2.07736e-12 * tfactors.T923 + 8.43048e-11 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16630,9 +19069,13 @@ void rate_n_O17_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 20.1798 + -2.12961 * tfactors.T9i + 16.8052 * tfactors.T913i + -30.138 * tfactors.T913 + 1.14711 * tfactors.T9 + -0.0220312 * tfactors.T953 + 13.7452 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.12961 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 16.8052 * tfactors.T943i + (1.0/3.0) * -30.138 * tfactors.T923i + 1.14711 + (5.0/3.0) * -0.0220312 * tfactors.T923 + 13.7452 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16647,7 +19090,7 @@ void rate_n_O17_to_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> F18 @@ -16662,9 +19105,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16679,9 +19126,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16696,9 +19147,13 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16713,7 +19168,7 @@ void rate_p_O17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + He4 --> Ne21 @@ -16728,9 +19183,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -25.0898 + -5.50926 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 82.2218 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.50926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 82.2218 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16745,9 +19204,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -117.134 + -13.6759 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -42.7753 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -42.7753 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16762,9 +19225,13 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 2.14 + -5.99952 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 4.75778 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.99952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 4.75778 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16779,7 +19246,7 @@ void rate_He4_O17_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> F19 @@ -16794,9 +19261,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16811,9 +19282,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16828,9 +19303,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16845,9 +19324,13 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16862,7 +19345,7 @@ void rate_p_O18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + He4 --> Ne22 @@ -16877,9 +19360,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -31.9126 + -2.00306 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00306 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16894,9 +19381,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -81.3036 + -0.676112 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.676112 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16911,9 +19402,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 14.9748 + -31.0468 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.0468 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16928,9 +19423,13 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 82.2053 + -1.58534 * tfactors.T9i + -44.3823 * tfactors.T913i + -46.6617 * tfactors.T913 + 7.88059 * tfactors.T9 + -0.590829 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.58534 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -44.3823 * tfactors.T943i + (1.0/3.0) * -46.6617 * tfactors.T923i + 7.88059 + (5.0/3.0) * -0.590829 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16945,7 +19444,7 @@ void rate_He4_O18_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F17_to_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + n --> F18 @@ -16960,9 +19459,13 @@ void rate_n_F17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 3.42798 + 0.0273799 * tfactors.T9i + -2.71353 * tfactors.T913i + 6.19871 * tfactors.T913 + -0.26836 * tfactors.T9 + 0.0115489 * tfactors.T953 + -2.52002 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0273799 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.71353 * tfactors.T943i + (1.0/3.0) * 6.19871 * tfactors.T923i + -0.26836 + (5.0/3.0) * 0.0115489 * tfactors.T923 + -2.52002 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -16977,7 +19480,7 @@ void rate_n_F17_to_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> Ne18 @@ -16992,9 +19495,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17009,9 +19516,13 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17026,7 +19537,7 @@ void rate_p_F17_to_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + He4 --> Na21 @@ -17041,9 +19552,13 @@ void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 41.1529 + -1.72817 * tfactors.T9i + 15.559 * tfactors.T913i + -68.3231 * tfactors.T913 + 2.54275 * tfactors.T9 + -0.0989207 * tfactors.T953 + 36.8877 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.72817 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.559 * tfactors.T943i + (1.0/3.0) * -68.3231 * tfactors.T923i + 2.54275 + (5.0/3.0) * -0.0989207 * tfactors.T923 + 36.8877 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17058,7 +19573,7 @@ void rate_He4_F17_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F18_to_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + n --> F19 @@ -17073,9 +19588,13 @@ void rate_n_F18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.814964 + 0.0604483 * tfactors.T9i + -6.65988 * tfactors.T913i + 18.3243 * tfactors.T913 + -1.47263 * tfactors.T9 + 0.0955082 * tfactors.T953 + -6.75505 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0604483 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.65988 * tfactors.T943i + (1.0/3.0) * 18.3243 * tfactors.T923i + -1.47263 + (5.0/3.0) * 0.0955082 * tfactors.T923 + -6.75505 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17090,7 +19609,7 @@ void rate_n_F18_to_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> Ne19 @@ -17105,9 +19624,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17122,9 +19645,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17139,9 +19666,13 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17156,7 +19687,7 @@ void rate_p_F18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> Na22 @@ -17171,9 +19702,13 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 35.3786 + -1.82957 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 37.8396 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.82957 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 37.8396 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17188,7 +19723,7 @@ void rate_He4_F18_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> Ne20 @@ -17203,9 +19738,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17220,9 +19759,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17237,9 +19780,13 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17254,7 +19801,7 @@ void rate_p_F19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> Na23 @@ -17269,9 +19816,13 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 52.7856 + -2.11408 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 54.4823 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11408 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 54.4823 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17286,7 +19837,7 @@ void rate_He4_F19_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne18_to_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + n --> Ne19 @@ -17301,9 +19852,13 @@ void rate_n_Ne18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.249 + 0.937162 * tfactors.T913 + -0.0221952 * tfactors.T9 + -0.00101206 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.937162 * tfactors.T923i + -0.0221952 + (5.0/3.0) * -0.00101206 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17318,7 +19873,7 @@ void rate_n_Ne18_to_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne19_to_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + n --> Ne20 @@ -17333,9 +19888,13 @@ void rate_n_Ne19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 6.40633 + 1.57592 * tfactors.T913 + -0.11175 * tfactors.T9 + 0.00226473 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.57592 * tfactors.T923i + -0.11175 + (5.0/3.0) * 0.00226473 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17350,7 +19909,7 @@ void rate_n_Ne19_to_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne19_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne19_to_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + He4 --> Mg23 @@ -17365,9 +19924,13 @@ void rate_He4_Ne19_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 37.1998 + -46.6346 * tfactors.T913i + -1.1007 * tfactors.T913 + -0.794097 * tfactors.T9 + 0.0813036 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * -1.1007 * tfactors.T923i + -0.794097 + (5.0/3.0) * 0.0813036 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17382,7 +19945,7 @@ void rate_He4_Ne19_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne20_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne20_to_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + n --> Ne21 @@ -17397,9 +19960,13 @@ void rate_n_Ne20_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.7344 + -1.70393 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.70393 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17414,8 +19981,12 @@ void rate_n_Ne20_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.57651; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17430,7 +20001,7 @@ void rate_n_Ne20_to_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> Na21 @@ -17445,9 +20016,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 195297.0 + -61.14 * tfactors.T9i + 21894.7 * tfactors.T913i + -319153.0 * tfactors.T913 + 224369.0 * tfactors.T9 + -188049.0 * tfactors.T953 + 48703.4 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.14 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21894.7 * tfactors.T943i + (1.0/3.0) * -319153.0 * tfactors.T923i + 224369.0 + (5.0/3.0) * -188049.0 * tfactors.T923 + 48703.4 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17462,9 +20037,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 207.877 + -0.152711 * tfactors.T9i + 15.325 * tfactors.T913i + -294.859 * tfactors.T913 + 107.692 * tfactors.T9 + -46.2072 * tfactors.T953 + 57.8398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.152711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 15.325 * tfactors.T943i + (1.0/3.0) * -294.859 * tfactors.T923i + 107.692 + (5.0/3.0) * -46.2072 * tfactors.T923 + 57.8398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17479,9 +20058,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.83103 + -8.838 * tfactors.T9i + 20.5893 * tfactors.T913i + -17.5841 * tfactors.T913 + 0.243226 * tfactors.T9 + -0.000231418 * tfactors.T953 + 12.8398 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.838 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 20.5893 * tfactors.T943i + (1.0/3.0) * -17.5841 * tfactors.T923i + 0.243226 + (5.0/3.0) * -0.000231418 * tfactors.T923 + 12.8398 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17496,9 +20079,13 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 230.019 + -4.45358 * tfactors.T9i + 258.57 * tfactors.T913i + -506.387 * tfactors.T913 + 22.1576 * tfactors.T9 + -0.721182 * tfactors.T953 + 230.288 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.45358 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 258.57 * tfactors.T943i + (1.0/3.0) * -506.387 * tfactors.T923i + 22.1576 + (5.0/3.0) * -0.721182 * tfactors.T923 + 230.288 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17513,7 +20100,7 @@ void rate_p_Ne20_to_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> Mg24 @@ -17528,9 +20115,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17545,9 +20136,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17562,9 +20157,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17579,9 +20178,13 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17596,7 +20199,7 @@ void rate_He4_Ne20_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne21_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne21_to_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + n --> Ne22 @@ -17611,9 +20214,13 @@ void rate_n_Ne21_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 23.5205 + 0.0482005 * tfactors.T9i + -0.238173 * tfactors.T913i + -12.2336 * tfactors.T913 + 1.14968 * tfactors.T9 + -0.0768882 * tfactors.T953 + 2.63636 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0482005 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.238173 * tfactors.T943i + (1.0/3.0) * -12.2336 * tfactors.T923i + 1.14968 + (5.0/3.0) * -0.0768882 * tfactors.T923 + 2.63636 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17628,7 +20235,7 @@ void rate_n_Ne21_to_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + p --> Na22 @@ -17643,9 +20250,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.0696 + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17660,9 +20271,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -39.4862 + -4.21385 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.21385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17677,9 +20292,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 1.75704 + -1.39957 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.39957 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17694,9 +20313,13 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -47.6554 + -0.19618 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.19618 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17711,7 +20334,7 @@ void rate_p_Ne21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne21_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne21_to_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + He4 --> Mg25 @@ -17726,9 +20349,13 @@ void rate_He4_Ne21_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2429 + -22.049 * tfactors.T9i + -29.4583 * tfactors.T913 + 14.6328 * tfactors.T9 + -3.47392 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.049 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -29.4583 * tfactors.T923i + 14.6328 + (5.0/3.0) * -3.47392 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17743,9 +20370,13 @@ void rate_He4_Ne21_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 36.6927 + -46.89 * tfactors.T913i + -0.72642 * tfactors.T913 + -0.76406 * tfactors.T9 + 0.0797483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.89 * tfactors.T943i + (1.0/3.0) * -0.72642 * tfactors.T923i + -0.76406 + (5.0/3.0) * 0.0797483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17760,7 +20391,7 @@ void rate_He4_Ne21_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + p --> Na23 @@ -17775,9 +20406,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.599331 + -1.72007 * tfactors.T9i + -0.310765 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.72007 * tfactors.T9i * tfactors.T9i + -0.310765 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17792,9 +20427,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -21.4345 + -0.410962 * tfactors.T9i + -1.49019 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.410962 * tfactors.T9i * tfactors.T9i + -1.49019 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17809,9 +20448,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.09035 + -0.799756 * tfactors.T9i + 3.23558 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.799756 * tfactors.T9i * tfactors.T9i + 3.23558 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17826,9 +20469,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.0373 + -8.72377 * tfactors.T9i + -0.767467 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.72377 * tfactors.T9i * tfactors.T9i + -0.767467 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17843,9 +20490,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.6408 + -4.59936 * tfactors.T9i + 0.156226 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.59936 * tfactors.T9i * tfactors.T9i + 0.156226 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17860,9 +20511,13 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -4.00597 + -2.6179 * tfactors.T9i + -4.29964 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.6179 * tfactors.T9i * tfactors.T9i + -4.29964 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17877,7 +20532,7 @@ void rate_p_Ne22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + He4 --> Mg26 @@ -17892,9 +20547,13 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -29.3146 + -6.44772 * tfactors.T9i + 43.2654 * tfactors.T913 + -18.5982 * tfactors.T9 + 2.80101 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.44772 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 43.2654 * tfactors.T923i + -18.5982 + (5.0/3.0) * 2.80101 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17909,9 +20568,13 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -23.7527 + -3.88217 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.88217 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17926,9 +20589,13 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -42.864 + -2.22115 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.22115 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17943,9 +20610,13 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -92.4077 + -0.910477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.910477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17960,9 +20631,13 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -34.7254 + -6.36421 * tfactors.T9i + 35.9878 * tfactors.T913 + -4.10684 * tfactors.T9 + 0.259345 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.36421 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.9878 * tfactors.T923i + -4.10684 + (5.0/3.0) * 0.259345 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -17977,7 +20652,7 @@ void rate_He4_Ne22_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na21_to_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + n --> Na22 @@ -17992,9 +20667,13 @@ void rate_n_Na21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7.58321 + 1.31089 * tfactors.T913 + -0.164931 * tfactors.T9 + 0.00903374 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.31089 * tfactors.T923i + -0.164931 + (5.0/3.0) * 0.00903374 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18009,7 +20688,7 @@ void rate_n_Na21_to_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na21_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na21_to_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + He4 --> Al25 @@ -18024,9 +20703,13 @@ void rate_He4_Na21_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 35.3006 + -49.9709 * tfactors.T913i + 1.63835 * tfactors.T913 + -1.18562 * tfactors.T9 + 0.101965 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -49.9709 * tfactors.T943i + (1.0/3.0) * 1.63835 * tfactors.T923i + -1.18562 + (5.0/3.0) * 0.101965 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18041,7 +20724,7 @@ void rate_He4_Na21_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na22_to_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + n --> Na23 @@ -18056,9 +20739,13 @@ void rate_n_Na22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.8678 + 1.02148 * tfactors.T913 + -0.334638 * tfactors.T9 + 0.0258708 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.02148 * tfactors.T923i + -0.334638 + (5.0/3.0) * 0.0258708 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18073,7 +20760,7 @@ void rate_n_Na22_to_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + p --> Mg23 @@ -18088,9 +20775,13 @@ void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -11.2731 + -2.42669 * tfactors.T9i + 4.86658 * tfactors.T913i + 16.4592 * tfactors.T913 + -1.95129 * tfactors.T9 + 0.132972 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.42669 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.86658 * tfactors.T943i + (1.0/3.0) * 16.4592 * tfactors.T923i + -1.95129 + (5.0/3.0) * 0.132972 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18105,9 +20796,13 @@ void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.2423 + -0.777841 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.777841 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18122,9 +20817,13 @@ void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -25.2739 + -0.499888 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.499888 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18139,7 +20838,7 @@ void rate_p_Na22_to_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na22_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na22_to_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + He4 --> Al26 @@ -18154,9 +20853,13 @@ void rate_He4_Na22_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 36.3797 + -50.0924 * tfactors.T913i + -0.390826 * tfactors.T913 + -0.99531 * tfactors.T9 + 0.101354 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.0924 * tfactors.T943i + (1.0/3.0) * -0.390826 * tfactors.T923i + -0.99531 + (5.0/3.0) * 0.101354 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18171,7 +20874,7 @@ void rate_He4_Na22_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> Mg24 @@ -18186,9 +20889,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18203,9 +20910,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18220,9 +20931,13 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18237,7 +20952,7 @@ void rate_p_Na23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + He4 --> Al27 @@ -18252,9 +20967,13 @@ void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 44.7724 + -50.2042 * tfactors.T913i + -1.64239 * tfactors.T913 + -1.59995 * tfactors.T9 + 0.184933 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * -1.64239 * tfactors.T923i + -1.59995 + (5.0/3.0) * 0.184933 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18269,7 +20988,7 @@ void rate_He4_Na23_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> Mg24 @@ -18284,9 +21003,13 @@ void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7.00613 + 2.66964 * tfactors.T913 + -0.448904 * tfactors.T9 + 0.0326505 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.66964 * tfactors.T923i + -0.448904 + (5.0/3.0) * 0.0326505 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18301,7 +21024,7 @@ void rate_n_Mg23_to_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg24_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg24_to_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + n --> Mg25 @@ -18316,9 +21039,13 @@ void rate_n_Mg24_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 64.622 + 0.161296 * tfactors.T9i + -0.142939 * tfactors.T913i + -57.7499 * tfactors.T913 + 7.01981 * tfactors.T9 + -0.582057 * tfactors.T953 + 12.8133 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.161296 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.142939 * tfactors.T943i + (1.0/3.0) * -57.7499 * tfactors.T923i + 7.01981 + (5.0/3.0) * -0.582057 * tfactors.T923 + 12.8133 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18333,7 +21060,7 @@ void rate_n_Mg24_to_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg24_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg24_to_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + p --> Al25 @@ -18348,9 +21075,13 @@ void rate_p_Mg24_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.24021 + -2.48451 * tfactors.T9i + -1.57811 * tfactors.T913 + 1.52232 * tfactors.T9 + -0.183001 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.48451 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.57811 * tfactors.T923i + 1.52232 + (5.0/3.0) * -0.183001 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18365,9 +21096,13 @@ void rate_p_Mg24_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.8966 + -22.0227 * tfactors.T913i + 0.361297 * tfactors.T913 + 2.61292 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -22.0227 * tfactors.T943i + (1.0/3.0) * 0.361297 * tfactors.T923i + 2.61292 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18382,7 +21117,7 @@ void rate_p_Mg24_to_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> Si28 @@ -18397,9 +21132,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18414,9 +21153,13 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18431,7 +21174,7 @@ void rate_He4_Mg24_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg25_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg25_to_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + n --> Mg26 @@ -18446,9 +21189,13 @@ void rate_n_Mg25_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.34 + -0.0457591 * tfactors.T9i + 9.392 * tfactors.T913i + -36.6784 * tfactors.T913 + 3.09567 * tfactors.T9 + -0.223882 * tfactors.T953 + 12.3852 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0457591 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.392 * tfactors.T943i + (1.0/3.0) * -36.6784 * tfactors.T923i + 3.09567 + (5.0/3.0) * -0.223882 * tfactors.T923 + 12.3852 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18463,7 +21210,7 @@ void rate_n_Mg25_to_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + p --> Al26 @@ -18478,9 +21225,13 @@ void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 4.21826 + -0.71983 * tfactors.T9i + -88.9297 * tfactors.T913 + 302.948 * tfactors.T9 + -346.461 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.71983 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -88.9297 * tfactors.T923i + 302.948 + (5.0/3.0) * -346.461 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18495,9 +21246,13 @@ void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -37.1963 + -0.429366 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.429366 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18512,9 +21267,13 @@ void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 2.22778 + -3.22353 * tfactors.T9i + 8.46334 * tfactors.T913 + -0.907024 * tfactors.T9 + 0.0642981 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.22353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.46334 * tfactors.T923i + -0.907024 + (5.0/3.0) * 0.0642981 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18529,7 +21288,7 @@ void rate_p_Mg25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg25_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg25_to_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + He4 --> Si29 @@ -18544,9 +21303,13 @@ void rate_He4_Mg25_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.3715 + -53.41 * tfactors.T913i + -1.83266 * tfactors.T913 + -0.573073 * tfactors.T9 + 0.0462678 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.41 * tfactors.T943i + (1.0/3.0) * -1.83266 * tfactors.T923i + -0.573073 + (5.0/3.0) * 0.0462678 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18561,7 +21324,7 @@ void rate_He4_Mg25_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 + p --> Al27 @@ -18576,9 +21339,13 @@ void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -27.2168 + -0.888689 * tfactors.T9i + 35.6312 * tfactors.T913 + -5.27265 * tfactors.T9 + 0.392932 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.888689 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.6312 * tfactors.T923i + -5.27265 + (5.0/3.0) * 0.392932 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18593,9 +21360,13 @@ void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -84.493 + -0.469464 * tfactors.T9i + 251.281 * tfactors.T913 + -730.009 * tfactors.T9 + -224.016 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.469464 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 251.281 * tfactors.T923i + -730.009 + (5.0/3.0) * -224.016 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18610,9 +21381,13 @@ void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.26056 + -3.35921 * tfactors.T9i + 6.78105 * tfactors.T913 + -1.25771 * tfactors.T9 + 0.140754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.35921 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.78105 * tfactors.T923i + -1.25771 + (5.0/3.0) * 0.140754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18627,7 +21402,7 @@ void rate_p_Mg26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg26_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg26_to_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 + He4 --> Si30 @@ -18642,9 +21417,13 @@ void rate_He4_Mg26_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.32941 + -18.7164 * tfactors.T9i + -1.87411 * tfactors.T913 + 3.41299 * tfactors.T9 + -0.43226 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.7164 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.87411 * tfactors.T923i + 3.41299 + (5.0/3.0) * -0.43226 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18659,9 +21438,13 @@ void rate_He4_Mg26_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 45.8787 + -53.7518 * tfactors.T913i + -4.8647 * tfactors.T913 + -1.51467 * tfactors.T9 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.7518 * tfactors.T943i + (1.0/3.0) * -4.8647 * tfactors.T923i + -1.51467 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18676,7 +21459,7 @@ void rate_He4_Mg26_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al25_to_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 + n --> Al26 @@ -18691,9 +21474,13 @@ void rate_n_Al25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7.92587 + 1.17141 * tfactors.T913 + -0.162515 * tfactors.T9 + 0.0126275 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.17141 * tfactors.T923i + -0.162515 + (5.0/3.0) * 0.0126275 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18708,7 +21495,7 @@ void rate_n_Al25_to_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al25_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al25_to_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 + He4 --> P29 @@ -18723,9 +21510,13 @@ void rate_He4_Al25_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 37.9099 + -56.3424 * tfactors.T913i + 0.542998 * tfactors.T913 + -0.721716 * tfactors.T9 + 0.0469712 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.3424 * tfactors.T943i + (1.0/3.0) * 0.542998 * tfactors.T923i + -0.721716 + (5.0/3.0) * 0.0469712 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18740,7 +21531,7 @@ void rate_He4_Al25_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al26_to_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + n --> Al27 @@ -18755,9 +21546,13 @@ void rate_n_Al26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.7625 + 0.00350938 * tfactors.T9i + -0.171158 * tfactors.T913i + -1.77283 * tfactors.T913 + 0.206192 * tfactors.T9 + -0.0191705 * tfactors.T953 + 0.139609 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.00350938 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.171158 * tfactors.T943i + (1.0/3.0) * -1.77283 * tfactors.T923i + 0.206192 + (5.0/3.0) * -0.0191705 * tfactors.T923 + 0.139609 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18772,7 +21567,7 @@ void rate_n_Al26_to_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al26_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al26_to_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + He4 --> P30 @@ -18787,9 +21582,13 @@ void rate_He4_Al26_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 42.9778 + -56.4422 * tfactors.T913i + -2.44848 * tfactors.T913 + -1.17578 * tfactors.T9 + 0.150757 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.4422 * tfactors.T943i + (1.0/3.0) * -2.44848 * tfactors.T923i + -1.17578 + (5.0/3.0) * 0.150757 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18804,7 +21603,7 @@ void rate_He4_Al26_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> Si28 @@ -18819,9 +21618,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18836,9 +21639,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18853,9 +21660,13 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18870,7 +21681,7 @@ void rate_p_Al27_to_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + He4 --> P31 @@ -18885,9 +21696,13 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.2333 + -56.5351 * tfactors.T913i + -0.896208 * tfactors.T913 + -1.72024 * tfactors.T9 + 0.185409 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * -0.896208 * tfactors.T923i + -1.72024 + (5.0/3.0) * 0.185409 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18902,7 +21717,7 @@ void rate_He4_Al27_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si28_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si28_to_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + n --> Si29 @@ -18917,9 +21732,13 @@ void rate_n_Si28_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 6.9158 + -0.38 * tfactors.T9i + 7.68863 * tfactors.T913 + -1.7991 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.38 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.68863 * tfactors.T923i + -1.7991 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18934,8 +21753,12 @@ void rate_n_Si28_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.77553; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18950,7 +21773,7 @@ void rate_n_Si28_to_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si28_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si28_to_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + p --> P29 @@ -18965,9 +21788,13 @@ void rate_p_Si28_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 16.1779 + -23.8173 * tfactors.T913i + 7.08203 * tfactors.T913 + -1.44753 * tfactors.T9 + 0.0804296 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.8173 * tfactors.T943i + (1.0/3.0) * 7.08203 * tfactors.T923i + -1.44753 + (5.0/3.0) * 0.0804296 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18982,9 +21809,13 @@ void rate_p_Si28_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 5.73975 + -4.14232 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.14232 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -18999,7 +21830,7 @@ void rate_p_Si28_to_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> S32 @@ -19014,9 +21845,13 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19031,7 +21866,7 @@ void rate_He4_Si28_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si29_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si29_to_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + n --> Si30 @@ -19046,9 +21881,13 @@ void rate_n_Si29_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9.60115 + -0.179366 * tfactors.T9i + 5.50678 * tfactors.T913 + -2.85656 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.179366 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.50678 * tfactors.T923i + -2.85656 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19062,8 +21901,12 @@ void rate_n_Si29_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // ka02n ln_set_rate = 11.8023 + 0.650904 * tfactors.T913; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.650904 * tfactors.T923i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19078,7 +21921,7 @@ void rate_n_Si29_to_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + p --> P30 @@ -19093,9 +21936,13 @@ void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -1.24791 + -3.33929 * tfactors.T9i + 14.0921 * tfactors.T913 + -3.92096 * tfactors.T9 + 0.447706 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.33929 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 14.0921 * tfactors.T923i + -3.92096 + (5.0/3.0) * 0.447706 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19110,9 +21957,13 @@ void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -13.4701 + -1.25026 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.25026 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19127,9 +21978,13 @@ void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 16.5182 + -23.9101 * tfactors.T913i + 10.7796 * tfactors.T913 + -3.04181 * tfactors.T9 + 0.274565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.9101 * tfactors.T943i + (1.0/3.0) * 10.7796 * tfactors.T923i + -3.04181 + (5.0/3.0) * 0.274565 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19144,7 +21999,7 @@ void rate_p_Si29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si29_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si29_to_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + He4 --> S33 @@ -19159,9 +22014,13 @@ void rate_He4_Si29_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 49.5657 + -59.5755 * tfactors.T913i + 1.06274 * tfactors.T913 + -3.07529 * tfactors.T9 + 0.372011 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.5755 * tfactors.T943i + (1.0/3.0) * 1.06274 * tfactors.T923i + -3.07529 + (5.0/3.0) * 0.372011 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19176,7 +22035,7 @@ void rate_He4_Si29_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si30_to_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si30_to_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + n --> Si31 @@ -19191,9 +22050,13 @@ void rate_n_Si30_to_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.19438 + 0.0685821 * tfactors.T9i + -12.3502 * tfactors.T913i + 34.6486 * tfactors.T913 + -1.89409 * tfactors.T9 + 0.0781979 * tfactors.T953 + -14.4601 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0685821 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.3502 * tfactors.T943i + (1.0/3.0) * 34.6486 * tfactors.T923i + -1.89409 + (5.0/3.0) * 0.0781979 * tfactors.T923 + -14.4601 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19208,7 +22071,7 @@ void rate_n_Si30_to_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + p --> P31 @@ -19223,9 +22086,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 12.3695 + -6.64105 * tfactors.T9i + -1.1191 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.64105 * tfactors.T9i * tfactors.T9i + -1.1191 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19240,9 +22107,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 8.79766 + -5.18231 * tfactors.T9i + 1.2883 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.18231 * tfactors.T9i * tfactors.T9i + 1.2883 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19257,9 +22128,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -334.266 + -1.13327 * tfactors.T9i + -78.547 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.13327 * tfactors.T9i * tfactors.T9i + -78.547 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19274,9 +22149,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -4.24208 + -1.25174 * tfactors.T9i + 4.99034 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.25174 * tfactors.T9i * tfactors.T9i + 4.99034 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19291,9 +22170,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -18.9198 + -0.945261 * tfactors.T9i + 1.30331 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.945261 * tfactors.T9i * tfactors.T9i + 1.30331 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19308,9 +22191,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -1138.34 + -95.8769 * tfactors.T9i + -896.758 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 95.8769 * tfactors.T9i * tfactors.T9i + -896.758 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19325,9 +22212,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 9.96544 + -5.58963 * tfactors.T9i + -1.57082 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.58963 * tfactors.T9i * tfactors.T9i + -1.57082 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19342,9 +22233,13 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -34.8594 + -0.592934 * tfactors.T9i + -1.62839 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.592934 * tfactors.T9i * tfactors.T9i + -1.62839 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19359,7 +22254,7 @@ void rate_p_Si30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si30_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si30_to_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + He4 --> S34 @@ -19374,9 +22269,13 @@ void rate_He4_Si30_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.5008 + -59.6559 * tfactors.T913i + 3.70141 * tfactors.T913 + -3.12537 * tfactors.T9 + 0.307626 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -59.6559 * tfactors.T943i + (1.0/3.0) * 3.70141 * tfactors.T923i + -3.12537 + (5.0/3.0) * 0.307626 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19391,7 +22290,7 @@ void rate_He4_Si30_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si31_to_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si31_to_Si32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 + n --> Si32 @@ -19406,9 +22305,13 @@ void rate_n_Si31_to_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.9451 + -0.0144696 * tfactors.T9i + 0.154735 * tfactors.T913i + 0.304696 * tfactors.T913 + 0.0236238 * tfactors.T9 + -0.00396359 * tfactors.T953 + -0.432171 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0144696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.154735 * tfactors.T943i + (1.0/3.0) * 0.304696 * tfactors.T923i + 0.0236238 + (5.0/3.0) * -0.00396359 * tfactors.T923 + -0.432171 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19423,7 +22326,7 @@ void rate_n_Si31_to_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si31_to_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 + p --> P32 @@ -19438,9 +22341,13 @@ void rate_p_Si31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 100.968 + -3.38247 * tfactors.T9i + 123.4 * tfactors.T913i + -231.734 * tfactors.T913 + 14.2724 * tfactors.T9 + -0.867645 * tfactors.T953 + 108.469 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.38247 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.4 * tfactors.T943i + (1.0/3.0) * -231.734 * tfactors.T923i + 14.2724 + (5.0/3.0) * -0.867645 * tfactors.T923 + 108.469 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19455,7 +22362,7 @@ void rate_p_Si31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si31_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si31_to_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 + He4 --> S35 @@ -19470,9 +22377,13 @@ void rate_He4_Si31_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -73.2581 + -1.94072 * tfactors.T9i + -98.5176 * tfactors.T913i + 171.207 * tfactors.T913 + -14.3839 * tfactors.T9 + 0.960708 * tfactors.T953 + -61.9936 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.94072 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.5176 * tfactors.T943i + (1.0/3.0) * 171.207 * tfactors.T923i + -14.3839 + (5.0/3.0) * 0.960708 * tfactors.T923 + -61.9936 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19487,7 +22398,7 @@ void rate_He4_Si31_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si32_to_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si32 + p --> P33 @@ -19502,9 +22413,13 @@ void rate_p_Si32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 178.753 + -3.87095 * tfactors.T9i + 174.94 * tfactors.T913i + -365.37 * tfactors.T913 + 23.1636 * tfactors.T9 + -1.3429 * tfactors.T953 + 160.075 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.87095 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 174.94 * tfactors.T943i + (1.0/3.0) * -365.37 * tfactors.T923i + 23.1636 + (5.0/3.0) * -1.3429 * tfactors.T923 + 160.075 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19519,7 +22434,7 @@ void rate_p_Si32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si32_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si32_to_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si32 + He4 --> S36 @@ -19534,9 +22449,13 @@ void rate_He4_Si32_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -152.93 + -0.462221 * tfactors.T9i + -232.306 * tfactors.T913i + 393.438 * tfactors.T913 + -25.2071 * tfactors.T9 + 1.4457 * tfactors.T953 + -171.471 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.462221 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -232.306 * tfactors.T943i + (1.0/3.0) * 393.438 * tfactors.T923i + -25.2071 + (5.0/3.0) * 1.4457 * tfactors.T923 + -171.471 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19551,7 +22470,7 @@ void rate_He4_Si32_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P29_to_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 + n --> P30 @@ -19566,9 +22485,13 @@ void rate_n_P29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 8.78841 + 0.15555 * tfactors.T913 + 0.155359 * tfactors.T9 + -0.0208019 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.15555 * tfactors.T923i + 0.155359 + (5.0/3.0) * -0.0208019 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19583,7 +22506,7 @@ void rate_n_P29_to_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P29_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P29_to_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 + He4 --> Cl33 @@ -19598,9 +22521,13 @@ void rate_He4_P29_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 41.9979 + -62.3802 * tfactors.T913i + 0.593062 * tfactors.T913 + -1.14226 * tfactors.T9 + 0.0934776 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.3802 * tfactors.T943i + (1.0/3.0) * 0.593062 * tfactors.T923i + -1.14226 + (5.0/3.0) * 0.0934776 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19615,7 +22542,7 @@ void rate_He4_P29_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P30_to_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + n --> P31 @@ -19630,9 +22557,13 @@ void rate_n_P30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 12.8187 + 0.909911 * tfactors.T913 + -0.162367 * tfactors.T9 + 0.00668293 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.909911 * tfactors.T923i + -0.162367 + (5.0/3.0) * 0.00668293 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19647,7 +22578,7 @@ void rate_n_P30_to_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P30_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P30_to_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + He4 --> Cl34 @@ -19662,9 +22593,13 @@ void rate_He4_P30_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 45.3321 + -62.4643 * tfactors.T913i + -3.19028 * tfactors.T913 + -0.832633 * tfactors.T9 + 0.0987525 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.4643 * tfactors.T943i + (1.0/3.0) * -3.19028 * tfactors.T923i + -0.832633 + (5.0/3.0) * 0.0987525 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19679,7 +22614,7 @@ void rate_He4_P30_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P31_to_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + n --> P32 @@ -19694,9 +22629,13 @@ void rate_n_P31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 9.48567 + -0.246803 * tfactors.T9i + 2.13185 * tfactors.T913 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.246803 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.13185 * tfactors.T923i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19711,9 +22650,13 @@ void rate_n_P31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 12.5332 + 0.327031 * tfactors.T913 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.327031 * tfactors.T923i + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19728,7 +22671,7 @@ void rate_n_P31_to_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> S32 @@ -19743,9 +22686,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19760,9 +22707,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19777,9 +22728,13 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19794,7 +22749,7 @@ void rate_p_P31_to_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P31_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P31_to_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + He4 --> Cl35 @@ -19809,9 +22764,13 @@ void rate_He4_P31_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 50.451 + -62.5433 * tfactors.T913i + -2.95026 * tfactors.T913 + -0.89652 * tfactors.T9 + 0.0774126 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.5433 * tfactors.T943i + (1.0/3.0) * -2.95026 * tfactors.T923i + -0.89652 + (5.0/3.0) * 0.0774126 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19826,7 +22785,7 @@ void rate_He4_P31_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P32_to_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + n --> P33 @@ -19841,9 +22800,13 @@ void rate_n_P32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 10.8477 + 0.0572362 * tfactors.T9i + -6.14814 * tfactors.T913i + 9.5582 * tfactors.T913 + -0.244744 * tfactors.T9 + -0.012887 * tfactors.T953 + -5.42926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0572362 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.14814 * tfactors.T943i + (1.0/3.0) * 9.5582 * tfactors.T923i + -0.244744 + (5.0/3.0) * -0.012887 * tfactors.T923 + -5.42926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19858,7 +22821,7 @@ void rate_n_P32_to_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P32_to_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + p --> S33 @@ -19873,9 +22836,13 @@ void rate_p_P32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 107.354 + -3.79249 * tfactors.T9i + 147.624 * tfactors.T913i + -261.318 * tfactors.T913 + 14.2732 * tfactors.T9 + -0.776243 * tfactors.T953 + 126.747 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.79249 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 147.624 * tfactors.T943i + (1.0/3.0) * -261.318 * tfactors.T923i + 14.2732 + (5.0/3.0) * -0.776243 * tfactors.T923 + 126.747 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19890,7 +22857,7 @@ void rate_p_P32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P32_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P32_to_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + He4 --> Cl36 @@ -19905,9 +22872,13 @@ void rate_He4_P32_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -119.479 + -1.48992 * tfactors.T9i + -158.272 * tfactors.T913i + 281.836 * tfactors.T913 + -20.652 * tfactors.T9 + 1.28543 * tfactors.T953 + -112.725 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.48992 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -158.272 * tfactors.T943i + (1.0/3.0) * 281.836 * tfactors.T923i + -20.652 + (5.0/3.0) * 1.28543 * tfactors.T923 + -112.725 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19922,7 +22893,7 @@ void rate_He4_P32_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P33_to_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + p --> S34 @@ -19937,9 +22908,13 @@ void rate_p_P33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 173.854 + -3.84298 * tfactors.T9i + 161.691 * tfactors.T913i + -350.015 * tfactors.T913 + 24.3597 * tfactors.T9 + -1.56396 * tfactors.T953 + 149.963 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.84298 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 161.691 * tfactors.T943i + (1.0/3.0) * -350.015 * tfactors.T923i + 24.3597 + (5.0/3.0) * -1.56396 * tfactors.T923 + 149.963 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19954,7 +22929,7 @@ void rate_p_P33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P33_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P33_to_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + He4 --> Cl37 @@ -19969,9 +22944,13 @@ void rate_He4_P33_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 50.9267 + -3.38505 * tfactors.T9i + 21.2001 * tfactors.T913i + -84.0086 * tfactors.T913 + 1.39426 * tfactors.T9 + 0.0896178 * tfactors.T953 + 47.8178 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.38505 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.2001 * tfactors.T943i + (1.0/3.0) * -84.0086 * tfactors.T923i + 1.39426 + (5.0/3.0) * 0.0896178 * tfactors.T923 + 47.8178 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -19986,7 +22965,7 @@ void rate_He4_P33_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S32_to_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + n --> S33 @@ -20001,9 +22980,13 @@ void rate_n_S32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 12.4466 + 0.198828 * tfactors.T9i + -15.0178 * tfactors.T913i + 16.3567 * tfactors.T913 + -0.436839 * tfactors.T9 + -0.00574462 * tfactors.T953 + -9.78034 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.198828 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.0178 * tfactors.T943i + (1.0/3.0) * 16.3567 * tfactors.T923i + -0.436839 + (5.0/3.0) * -0.00574462 * tfactors.T923 + -9.78034 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20018,7 +23001,7 @@ void rate_n_S32_to_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + p --> Cl33 @@ -20033,9 +23016,13 @@ void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 52.47 + -29.7741 * tfactors.T913i + -87.4473 * tfactors.T913 + 182.189 * tfactors.T9 + -128.625 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.7741 * tfactors.T943i + (1.0/3.0) * -87.4473 * tfactors.T923i + 182.189 + (5.0/3.0) * -128.625 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20050,9 +23037,13 @@ void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 69.3346 + -3.00371 * tfactors.T9i + -33.7204 * tfactors.T913i + -32.7355 * tfactors.T913 + 3.92526 * tfactors.T9 + -0.250479 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.00371 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -33.7204 * tfactors.T943i + (1.0/3.0) * -32.7355 * tfactors.T923i + 3.92526 + (5.0/3.0) * -0.250479 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20067,9 +23058,13 @@ void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -27.2382 + -0.874107 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.874107 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20084,7 +23079,7 @@ void rate_p_S32_to_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> Ar36 @@ -20099,9 +23094,13 @@ void rate_He4_S32_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20116,7 +23115,7 @@ void rate_He4_S32_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S33_to_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + n --> S34 @@ -20131,9 +23130,13 @@ void rate_n_S33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -4.17932 + 0.24641 * tfactors.T9i + -23.1351 * tfactors.T913i + 43.3623 * tfactors.T913 + -2.74733 * tfactors.T9 + 0.159045 * tfactors.T953 + -19.6332 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.24641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.1351 * tfactors.T943i + (1.0/3.0) * 43.3623 * tfactors.T923i + -2.74733 + (5.0/3.0) * 0.159045 * tfactors.T923 + -19.6332 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20148,7 +23151,7 @@ void rate_n_S33_to_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S33_to_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + p --> Cl34 @@ -20163,9 +23166,13 @@ void rate_p_S33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 36.4908 + -26.777 * tfactors.T913i + -5.96882 * tfactors.T913 + -1.0706 * tfactors.T9 + 0.19692 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.777 * tfactors.T943i + (1.0/3.0) * -5.96882 * tfactors.T923i + -1.0706 + (5.0/3.0) * 0.19692 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20180,7 +23187,7 @@ void rate_p_S33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S33_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S33_to_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + He4 --> Ar37 @@ -20195,9 +23202,13 @@ void rate_He4_S33_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 49.9315 + -65.4446 * tfactors.T913i + 3.59607 * tfactors.T913 + -3.40501 * tfactors.T9 + 0.363961 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.4446 * tfactors.T943i + (1.0/3.0) * 3.59607 * tfactors.T923i + -3.40501 + (5.0/3.0) * 0.363961 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20212,7 +23223,7 @@ void rate_He4_S33_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S34_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S34_to_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + n --> S35 @@ -20227,9 +23238,13 @@ void rate_n_S34_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 41.4131 + -0.229262 * tfactors.T9i + 25.2182 * tfactors.T913i + -59.2704 * tfactors.T913 + 4.22256 * tfactors.T9 + -0.274247 * tfactors.T953 + 24.532 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.229262 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 25.2182 * tfactors.T943i + (1.0/3.0) * -59.2704 * tfactors.T923i + 4.22256 + (5.0/3.0) * -0.274247 * tfactors.T923 + 24.532 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20244,7 +23259,7 @@ void rate_n_S34_to_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + p --> Cl35 @@ -20259,9 +23274,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -7.70046 + -2.02615 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02615 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20276,9 +23295,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 8.25443 + -5.75583 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.75583 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20293,9 +23316,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -14.8781 + -1.40414 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.40414 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20310,9 +23337,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 7.00142 + -5.10598 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.10598 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20327,9 +23358,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -17.9366 + -1.17205 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.17205 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20344,9 +23379,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 5.80604 + -4.6418 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.6418 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20361,9 +23400,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 0.43449 + -3.16803 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.16803 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20378,9 +23421,13 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = -60.0247 + -27.689 * tfactors.T9i + 454.53 * tfactors.T913i + -375.557 * tfactors.T913 + 12.6533 * tfactors.T9 + -0.408677 * tfactors.T953 + 245.118 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.689 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 454.53 * tfactors.T943i + (1.0/3.0) * -375.557 * tfactors.T923i + 12.6533 + (5.0/3.0) * -0.408677 * tfactors.T923 + 245.118 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20395,7 +23442,7 @@ void rate_p_S34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S34_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S34_to_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + He4 --> Ar38 @@ -20410,9 +23457,13 @@ void rate_He4_S34_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 228.729 + -17.9675 * tfactors.T9i + 635.332 * tfactors.T913i + -902.05 * tfactors.T913 + 42.5623 * tfactors.T9 + -2.08434 * tfactors.T953 + 477.35 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.9675 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 635.332 * tfactors.T943i + (1.0/3.0) * -902.05 * tfactors.T923i + 42.5623 + (5.0/3.0) * -2.08434 * tfactors.T923 + 477.35 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20427,7 +23478,7 @@ void rate_He4_S34_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S35_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S35_to_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + n --> S36 @@ -20442,9 +23493,13 @@ void rate_n_S35_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.0579 + -2.51293 * tfactors.T913 + 0.668068 * tfactors.T9 + -0.0786735 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.51293 * tfactors.T923i + 0.668068 + (5.0/3.0) * -0.0786735 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20459,7 +23514,7 @@ void rate_n_S35_to_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S35_to_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + p --> Cl36 @@ -20474,9 +23529,13 @@ void rate_p_S35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.1122 + -26.7922 * tfactors.T913i + -1.83516 * tfactors.T913 + -2.03932 * tfactors.T9 + 0.322305 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.7922 * tfactors.T943i + (1.0/3.0) * -1.83516 * tfactors.T923i + -2.03932 + (5.0/3.0) * 0.322305 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20491,7 +23550,7 @@ void rate_p_S35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S35_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S35_to_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + He4 --> Ar39 @@ -20506,9 +23565,13 @@ void rate_He4_S35_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 50.161 + -65.58 * tfactors.T913i + 0.163229 * tfactors.T913 + -2.20138 * tfactors.T9 + 0.232938 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.58 * tfactors.T943i + (1.0/3.0) * 0.163229 * tfactors.T923i + -2.20138 + (5.0/3.0) * 0.232938 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20523,7 +23586,7 @@ void rate_He4_S35_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S36_to_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 + p --> Cl37 @@ -20538,9 +23601,13 @@ void rate_p_S36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 33.9758 + -26.7991 * tfactors.T913i + 0.0770118 * tfactors.T913 + -1.71514 * tfactors.T9 + 0.205981 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.7991 * tfactors.T943i + (1.0/3.0) * 0.0770118 * tfactors.T923i + -1.71514 + (5.0/3.0) * 0.205981 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20555,7 +23622,7 @@ void rate_p_S36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S36_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S36_to_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 + He4 --> Ar40 @@ -20570,9 +23637,13 @@ void rate_He4_S36_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 49.9867 + -65.6425 * tfactors.T913i + 4.12861 * tfactors.T913 + -3.33119 * tfactors.T9 + 0.31889 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.6425 * tfactors.T943i + (1.0/3.0) * 4.12861 * tfactors.T923i + -3.33119 + (5.0/3.0) * 0.31889 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20587,7 +23658,7 @@ void rate_He4_S36_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl33_to_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 + n --> Cl34 @@ -20602,9 +23673,13 @@ void rate_n_Cl33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.14947 + 0.921411 * tfactors.T913 + -0.0823764 * tfactors.T9 + 0.000852746 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.921411 * tfactors.T923i + -0.0823764 + (5.0/3.0) * 0.000852746 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20619,7 +23694,7 @@ void rate_n_Cl33_to_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl33_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl33_to_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 + He4 --> K37 @@ -20634,9 +23709,13 @@ void rate_He4_Cl33_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 46.6859 + -68.1442 * tfactors.T913i + -2.72746 * tfactors.T913 + -0.317537 * tfactors.T9 + 0.0162782 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.1442 * tfactors.T943i + (1.0/3.0) * -2.72746 * tfactors.T923i + -0.317537 + (5.0/3.0) * 0.0162782 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20651,7 +23730,7 @@ void rate_He4_Cl33_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl34_to_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + n --> Cl35 @@ -20666,9 +23745,13 @@ void rate_n_Cl34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.6539 + 0.990222 * tfactors.T913 + -0.146686 * tfactors.T9 + 0.00560251 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.990222 * tfactors.T923i + -0.146686 + (5.0/3.0) * 0.00560251 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20683,7 +23766,7 @@ void rate_n_Cl34_to_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl34_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl34_to_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + He4 --> K38 @@ -20698,9 +23781,13 @@ void rate_He4_Cl34_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 47.9589 + -68.2165 * tfactors.T913i + -2.18792 * tfactors.T913 + -1.25322 * tfactors.T9 + 0.140901 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.2165 * tfactors.T943i + (1.0/3.0) * -2.18792 * tfactors.T923i + -1.25322 + (5.0/3.0) * 0.140901 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20715,7 +23802,7 @@ void rate_He4_Cl34_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl35_to_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + n --> Cl36 @@ -20730,9 +23817,13 @@ void rate_n_Cl35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 2.77768 + 0.10548 * tfactors.T9i + -11.2145 * tfactors.T913i + 23.5701 * tfactors.T913 + -1.44059 * tfactors.T9 + 0.0755834 * tfactors.T953 + -10.3832 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.10548 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.2145 * tfactors.T943i + (1.0/3.0) * 23.5701 * tfactors.T923i + -1.44059 + (5.0/3.0) * 0.0755834 * tfactors.T923 + -10.3832 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20747,7 +23838,7 @@ void rate_n_Cl35_to_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> Ar36 @@ -20762,9 +23853,13 @@ void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20779,9 +23874,13 @@ void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20796,9 +23895,13 @@ void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20813,9 +23916,13 @@ void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20830,7 +23937,7 @@ void rate_p_Cl35_to_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl35_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl35_to_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + He4 --> K39 @@ -20845,9 +23952,13 @@ void rate_He4_Cl35_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 52.718 + -68.2848 * tfactors.T913i + 0.0178545 * tfactors.T913 + -2.06783 * tfactors.T9 + 0.199659 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.2848 * tfactors.T943i + (1.0/3.0) * 0.0178545 * tfactors.T923i + -2.06783 + (5.0/3.0) * 0.199659 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20862,7 +23973,7 @@ void rate_He4_Cl35_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl36_to_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + n --> Cl37 @@ -20877,9 +23988,13 @@ void rate_n_Cl36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.7404 + -0.00175231 * tfactors.T9i + -0.17256 * tfactors.T913i + -0.577904 * tfactors.T913 + 0.229273 * tfactors.T9 + -0.0412624 * tfactors.T953 + -0.214457 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00175231 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.17256 * tfactors.T943i + (1.0/3.0) * -0.577904 * tfactors.T923i + 0.229273 + (5.0/3.0) * -0.0412624 * tfactors.T923 + -0.214457 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20894,7 +24009,7 @@ void rate_n_Cl36_to_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl36_to_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + p --> Ar37 @@ -20909,9 +24024,13 @@ void rate_p_Cl36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.0223 + -27.9044 * tfactors.T913i + -0.481331 * tfactors.T913 + -1.50793 * tfactors.T9 + 0.182531 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.9044 * tfactors.T943i + (1.0/3.0) * -0.481331 * tfactors.T923i + -1.50793 + (5.0/3.0) * 0.182531 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20926,7 +24045,7 @@ void rate_p_Cl36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl36_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl36_to_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + He4 --> K40 @@ -20941,9 +24060,13 @@ void rate_He4_Cl36_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 55.7157 + -68.3499 * tfactors.T913i + -4.69433 * tfactors.T913 + -1.24812 * tfactors.T9 + 0.169306 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.3499 * tfactors.T943i + (1.0/3.0) * -4.69433 * tfactors.T923i + -1.24812 + (5.0/3.0) * 0.169306 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20958,7 +24081,7 @@ void rate_He4_Cl36_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl37_to_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + p --> Ar38 @@ -20973,9 +24096,13 @@ void rate_p_Cl37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.0095 + -27.9113 * tfactors.T913i + 0.282028 * tfactors.T913 + -1.80122 * tfactors.T9 + 0.21751 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.9113 * tfactors.T943i + (1.0/3.0) * 0.282028 * tfactors.T923i + -1.80122 + (5.0/3.0) * 0.21751 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -20990,7 +24117,7 @@ void rate_p_Cl37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl37_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl37_to_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + He4 --> K41 @@ -21005,9 +24132,13 @@ void rate_He4_Cl37_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 51.2462 + -68.4116 * tfactors.T913i + 3.55194 * tfactors.T913 + -2.84942 * tfactors.T9 + 0.24958 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.4116 * tfactors.T943i + (1.0/3.0) * 3.55194 * tfactors.T923i + -2.84942 + (5.0/3.0) * 0.24958 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21022,7 +24153,7 @@ void rate_He4_Cl37_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar36_to_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + n --> Ar37 @@ -21037,9 +24168,13 @@ void rate_n_Ar36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.0149 + 0.0317044 * tfactors.T9i + -3.1764 * tfactors.T913i + 5.13191 * tfactors.T913 + -0.00639688 * tfactors.T9 + -0.0292833 * tfactors.T953 + -2.74683 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0317044 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.1764 * tfactors.T943i + (1.0/3.0) * 5.13191 * tfactors.T923i + -0.00639688 + (5.0/3.0) * -0.0292833 * tfactors.T923 + -2.74683 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21054,7 +24189,7 @@ void rate_n_Ar36_to_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + p --> K37 @@ -21069,9 +24204,13 @@ void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 3.18278 + -8.98031 * tfactors.T9i + 7.50962 * tfactors.T913 + -1.68675 * tfactors.T9 + 0.189725 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.98031 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.50962 * tfactors.T923i + -1.68675 + (5.0/3.0) * 0.189725 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21086,9 +24225,13 @@ void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 4.69769 + -3.6251 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.6251 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21103,9 +24246,13 @@ void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 21.4923 + -28.9682 * tfactors.T913i + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -28.9682 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21120,7 +24267,7 @@ void rate_p_Ar36_to_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> Ca40 @@ -21135,9 +24282,13 @@ void rate_He4_Ar36_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21152,7 +24303,7 @@ void rate_He4_Ar36_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar37_to_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + n --> Ar38 @@ -21167,9 +24318,13 @@ void rate_n_Ar37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.7933 + -0.825362 * tfactors.T913 + 0.336634 * tfactors.T9 + -0.0509617 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.825362 * tfactors.T923i + 0.336634 + (5.0/3.0) * -0.0509617 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21184,7 +24339,7 @@ void rate_n_Ar37_to_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar37_to_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + p --> K38 @@ -21199,9 +24354,13 @@ void rate_p_Ar37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 37.7254 + -28.9954 * tfactors.T913i + -5.57966 * tfactors.T913 + -1.27516 * tfactors.T9 + 0.217568 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -28.9954 * tfactors.T943i + (1.0/3.0) * -5.57966 * tfactors.T923i + -1.27516 + (5.0/3.0) * 0.217568 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21216,7 +24375,7 @@ void rate_p_Ar37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar37_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar37_to_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + He4 --> Ca41 @@ -21231,9 +24390,13 @@ void rate_He4_Ar37_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.7522 + -71.0688 * tfactors.T913i + 2.71847 * tfactors.T913 + -3.17333 * tfactors.T9 + 0.335323 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.0688 * tfactors.T943i + (1.0/3.0) * 2.71847 * tfactors.T923i + -3.17333 + (5.0/3.0) * 0.335323 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21248,7 +24411,7 @@ void rate_He4_Ar37_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar38_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar38_to_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + n --> Ar39 @@ -21263,9 +24426,13 @@ void rate_n_Ar38_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.726 + -0.0331959 * tfactors.T9i + 2.38837 * tfactors.T913i + -4.76536 * tfactors.T913 + 0.701311 * tfactors.T9 + -0.0705226 * tfactors.T953 + 1.80517 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0331959 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.38837 * tfactors.T943i + (1.0/3.0) * -4.76536 * tfactors.T923i + 0.701311 + (5.0/3.0) * -0.0705226 * tfactors.T923 + 1.80517 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21280,7 +24447,7 @@ void rate_n_Ar38_to_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar38_to_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + p --> K39 @@ -21295,9 +24462,13 @@ void rate_p_Ar38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.2834 + -29.0021 * tfactors.T913i + -0.525968 * tfactors.T913 + -1.94216 * tfactors.T9 + 0.267346 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.0021 * tfactors.T943i + (1.0/3.0) * -0.525968 * tfactors.T923i + -1.94216 + (5.0/3.0) * 0.267346 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21312,7 +24483,7 @@ void rate_p_Ar38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar38_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar38_to_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + He4 --> Ca42 @@ -21327,9 +24498,13 @@ void rate_He4_Ar38_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.6394 + -71.1296 * tfactors.T913i + 2.75299 * tfactors.T913 + -2.43406 * tfactors.T9 + 0.199511 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.1296 * tfactors.T943i + (1.0/3.0) * 2.75299 * tfactors.T923i + -2.43406 + (5.0/3.0) * 0.199511 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21344,7 +24519,7 @@ void rate_He4_Ar38_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar39_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar39_to_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + n --> Ar40 @@ -21359,9 +24534,13 @@ void rate_n_Ar39_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8265 + -0.0317703 * tfactors.T9i + 2.09789 * tfactors.T913i + -4.77242 * tfactors.T913 + 0.64032 * tfactors.T9 + -0.0694485 * tfactors.T953 + 1.51561 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0317703 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.09789 * tfactors.T943i + (1.0/3.0) * -4.77242 * tfactors.T923i + 0.64032 + (5.0/3.0) * -0.0694485 * tfactors.T923 + 1.51561 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21376,7 +24555,7 @@ void rate_n_Ar39_to_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar39_to_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + p --> K40 @@ -21391,9 +24570,13 @@ void rate_p_Ar39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.9873 + -29.0085 * tfactors.T913i + -2.81753 * tfactors.T913 + -0.757962 * tfactors.T9 + 0.099462 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.0085 * tfactors.T943i + (1.0/3.0) * -2.81753 * tfactors.T923i + -0.757962 + (5.0/3.0) * 0.099462 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21408,7 +24591,7 @@ void rate_p_Ar39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar39_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar39_to_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + He4 --> Ca43 @@ -21423,9 +24606,13 @@ void rate_He4_Ar39_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.0126 + -71.1879 * tfactors.T913i + 2.58821 * tfactors.T913 + -3.67809 * tfactors.T9 + 0.431537 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.1879 * tfactors.T943i + (1.0/3.0) * 2.58821 * tfactors.T923i + -3.67809 + (5.0/3.0) * 0.431537 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21440,7 +24627,7 @@ void rate_He4_Ar39_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar40_to_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 + p --> K41 @@ -21455,9 +24642,13 @@ void rate_p_Ar40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 34.4108 + -29.0146 * tfactors.T913i + 0.65181 * tfactors.T913 + -1.50557 * tfactors.T9 + 0.139974 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.0146 * tfactors.T943i + (1.0/3.0) * 0.65181 * tfactors.T923i + -1.50557 + (5.0/3.0) * 0.139974 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21472,7 +24663,7 @@ void rate_p_Ar40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar40_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar40_to_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 + He4 --> Ca44 @@ -21487,9 +24678,13 @@ void rate_He4_Ar40_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 51.2366 + -71.2432 * tfactors.T913i + 6.75101 * tfactors.T913 + -5.53183 * tfactors.T9 + 0.667023 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -71.2432 * tfactors.T943i + (1.0/3.0) * 6.75101 * tfactors.T923i + -5.53183 + (5.0/3.0) * 0.667023 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21504,7 +24699,7 @@ void rate_He4_Ar40_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K37_to_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 + n --> K38 @@ -21519,9 +24714,13 @@ void rate_n_K37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 8.98129 + 0.538174 * tfactors.T913 + -0.0208079 * tfactors.T9 + -0.00404949 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.538174 * tfactors.T923i + -0.0208079 + (5.0/3.0) * -0.00404949 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21536,7 +24735,7 @@ void rate_n_K37_to_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K38_to_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 + n --> K39 @@ -21551,9 +24750,13 @@ void rate_n_K38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 13.7596 + -0.161985 * tfactors.T913 + 0.187817 * tfactors.T9 + -0.0320464 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.161985 * tfactors.T923i + 0.187817 + (5.0/3.0) * -0.0320464 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21568,7 +24771,7 @@ void rate_n_K38_to_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K39_to_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + n --> K40 @@ -21583,9 +24786,13 @@ void rate_n_K39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.6161 + 0.0316194 * tfactors.T9i + -2.2227 * tfactors.T913i + -1.88579 * tfactors.T913 + 0.714904 * tfactors.T9 + -0.0774902 * tfactors.T953 + -0.859473 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0316194 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.2227 * tfactors.T943i + (1.0/3.0) * -1.88579 * tfactors.T923i + 0.714904 + (5.0/3.0) * -0.0774902 * tfactors.T923 + -0.859473 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21600,7 +24807,7 @@ void rate_n_K39_to_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> Ca40 @@ -21615,9 +24822,13 @@ void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1136.19 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1136.19 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21632,9 +24843,13 @@ void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 564.926 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 564.926 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21649,9 +24864,13 @@ void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21666,7 +24885,7 @@ void rate_p_K39_to_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K39_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K39_to_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + He4 --> Sc43 @@ -21681,9 +24900,13 @@ void rate_He4_K39_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 54.1202 + -73.8006 * tfactors.T913i + 1.87885 * tfactors.T913 + -2.75862 * tfactors.T9 + 0.279678 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.8006 * tfactors.T943i + (1.0/3.0) * 1.87885 * tfactors.T923i + -2.75862 + (5.0/3.0) * 0.279678 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21698,7 +24921,7 @@ void rate_He4_K39_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K40_to_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + n --> K41 @@ -21713,9 +24936,13 @@ void rate_n_K40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.4542 + -0.0277342 * tfactors.T9i + 1.90527 * tfactors.T913i + -4.8523 * tfactors.T913 + 0.552061 * tfactors.T9 + -0.0570777 * tfactors.T953 + 1.46777 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0277342 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.90527 * tfactors.T943i + (1.0/3.0) * -4.8523 * tfactors.T923i + 0.552061 + (5.0/3.0) * -0.0570777 * tfactors.T923 + 1.46777 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21730,7 +24957,7 @@ void rate_n_K40_to_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K40_to_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + p --> Ca41 @@ -21745,9 +24972,13 @@ void rate_p_K40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.0973 + -30.0795 * tfactors.T913i + 0.0447475 * tfactors.T913 + -1.69565 * tfactors.T9 + 0.20173 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 0.0447475 * tfactors.T923i + -1.69565 + (5.0/3.0) * 0.20173 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21762,7 +24993,7 @@ void rate_p_K40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K40_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K40_to_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + He4 --> Sc44 @@ -21777,9 +25008,13 @@ void rate_He4_K40_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 55.9694 + -73.858 * tfactors.T913i + -1.10691 * tfactors.T913 + -2.42921 * tfactors.T9 + 0.294 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.858 * tfactors.T943i + (1.0/3.0) * -1.10691 * tfactors.T923i + -2.42921 + (5.0/3.0) * 0.294 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21794,7 +25029,7 @@ void rate_He4_K40_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K41_to_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + p --> Ca42 @@ -21809,9 +25044,13 @@ void rate_p_K41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 32.2014 + -30.08 * tfactors.T913i + 2.93877 * tfactors.T913 + 2.77388 * tfactors.T9 + -4.8284 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.08 * tfactors.T943i + (1.0/3.0) * 2.93877 * tfactors.T923i + 2.77388 + (5.0/3.0) * -4.8284 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21826,9 +25065,13 @@ void rate_p_K41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 16.0218 + -12.0 * tfactors.T9i + -1.68317 * tfactors.T913 + 0.692171 * tfactors.T9 + -0.0831029 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.68317 * tfactors.T923i + 0.692171 + (5.0/3.0) * -0.0831029 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21843,7 +25086,7 @@ void rate_p_K41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K41_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K41_to_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + He4 --> Sc45 @@ -21858,9 +25101,13 @@ void rate_He4_K41_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 54.8015 + -73.9127 * tfactors.T913i + 0.81435 * tfactors.T913 + -2.90813 * tfactors.T9 + 0.335176 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.9127 * tfactors.T943i + (1.0/3.0) * 0.81435 * tfactors.T923i + -2.90813 + (5.0/3.0) * 0.335176 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21875,7 +25122,7 @@ void rate_He4_K41_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca40_to_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + n --> Ca41 @@ -21890,9 +25137,13 @@ void rate_n_Ca40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 3.04601 + 0.0855375 * tfactors.T9i + -9.18636 * tfactors.T913i + 21.0095 * tfactors.T913 + -1.33326 * tfactors.T9 + 0.0769347 * tfactors.T953 + -8.66245 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0855375 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -9.18636 * tfactors.T943i + (1.0/3.0) * 21.0095 * tfactors.T923i + -1.33326 + (5.0/3.0) * 0.0769347 * tfactors.T923 + -8.66245 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21907,7 +25158,7 @@ void rate_n_Ca40_to_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> Ti44 @@ -21922,9 +25173,13 @@ void rate_He4_Ca40_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21939,7 +25194,7 @@ void rate_He4_Ca40_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca41_to_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + n --> Ca42 @@ -21954,9 +25209,13 @@ void rate_n_Ca41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 20.4461 + -0.0409481 * tfactors.T9i + 3.7037 * tfactors.T913i + -9.99246 * tfactors.T913 + 1.05894 * tfactors.T9 + -0.0978564 * tfactors.T953 + 3.43604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0409481 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.7037 * tfactors.T943i + (1.0/3.0) * -9.99246 * tfactors.T923i + 1.05894 + (5.0/3.0) * -0.0978564 * tfactors.T923 + 3.43604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -21971,7 +25230,7 @@ void rate_n_Ca41_to_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca41_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca41_to_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + He4 --> Ti45 @@ -21986,9 +25245,13 @@ void rate_He4_Ca41_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 54.6305 + -76.4839 * tfactors.T913i + 3.03748 * tfactors.T913 + -2.59814 * tfactors.T9 + 0.210582 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.4839 * tfactors.T943i + (1.0/3.0) * 3.03748 * tfactors.T923i + -2.59814 + (5.0/3.0) * 0.210582 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22003,7 +25266,7 @@ void rate_He4_Ca41_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca42_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca42_to_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + n --> Ca43 @@ -22018,9 +25281,13 @@ void rate_n_Ca42_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.996 + 0.0365498 * tfactors.T9i + -2.75867 * tfactors.T913i + 0.860871 * tfactors.T913 + 0.583467 * tfactors.T9 + -0.094473 * tfactors.T953 + -1.59357 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0365498 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.75867 * tfactors.T943i + (1.0/3.0) * 0.860871 * tfactors.T923i + 0.583467 + (5.0/3.0) * -0.094473 * tfactors.T923 + -1.59357 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22035,7 +25302,7 @@ void rate_n_Ca42_to_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca42_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca42_to_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + p --> Sc43 @@ -22050,9 +25317,13 @@ void rate_p_Ca42_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.8192 + -31.1381 * tfactors.T913i + -0.151667 * tfactors.T913 + -1.76926 * tfactors.T9 + 0.219569 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1381 * tfactors.T943i + (1.0/3.0) * -0.151667 * tfactors.T923i + -1.76926 + (5.0/3.0) * 0.219569 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22067,7 +25338,7 @@ void rate_p_Ca42_to_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca42_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca42_to_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + He4 --> Ti46 @@ -22082,9 +25353,13 @@ void rate_He4_Ca42_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 54.833 + -76.5379 * tfactors.T913i + 2.80099 * tfactors.T913 + -2.34788 * tfactors.T9 + 0.150014 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.5379 * tfactors.T943i + (1.0/3.0) * 2.80099 * tfactors.T923i + -2.34788 + (5.0/3.0) * 0.150014 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22099,7 +25374,7 @@ void rate_He4_Ca42_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca43_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca43_to_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + n --> Ca44 @@ -22114,9 +25389,13 @@ void rate_n_Ca43_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 10.6877 + -0.00587516 * tfactors.T9i + -1.26512 * tfactors.T913i + 6.74718 * tfactors.T913 + -0.673582 * tfactors.T9 + 0.0412245 * tfactors.T953 + -2.30362 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00587516 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.26512 * tfactors.T943i + (1.0/3.0) * 6.74718 * tfactors.T923i + -0.673582 + (5.0/3.0) * 0.0412245 * tfactors.T923 + -2.30362 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22131,7 +25410,7 @@ void rate_n_Ca43_to_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca43_to_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + p --> Sc44 @@ -22146,9 +25425,13 @@ void rate_p_Ca43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.9383 + -31.1437 * tfactors.T913i + 1.02701 * tfactors.T913 + -1.81612 * tfactors.T9 + 0.197287 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1437 * tfactors.T943i + (1.0/3.0) * 1.02701 * tfactors.T923i + -1.81612 + (5.0/3.0) * 0.197287 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22163,7 +25446,7 @@ void rate_p_Ca43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca43_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca43_to_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + He4 --> Ti47 @@ -22178,9 +25461,13 @@ void rate_He4_Ca43_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.4703 + -76.5897 * tfactors.T913i + -7.46117 * tfactors.T913 + -0.574977 * tfactors.T9 + 0.115742 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.5897 * tfactors.T943i + (1.0/3.0) * -7.46117 * tfactors.T923i + -0.574977 + (5.0/3.0) * 0.115742 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22195,7 +25482,7 @@ void rate_He4_Ca43_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca44_to_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca44_to_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + n --> Ca45 @@ -22210,9 +25497,13 @@ void rate_n_Ca44_to_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 2.03089 + 0.19047 * tfactors.T9i + -17.5809 * tfactors.T913i + 30.835 * tfactors.T913 + -1.52658 * tfactors.T9 + 0.0495163 * tfactors.T953 + -14.5794 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.19047 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -17.5809 * tfactors.T943i + (1.0/3.0) * 30.835 * tfactors.T923i + -1.52658 + (5.0/3.0) * 0.0495163 * tfactors.T923 + -14.5794 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22227,7 +25518,7 @@ void rate_n_Ca44_to_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca44_to_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + p --> Sc45 @@ -22242,9 +25533,13 @@ void rate_p_Ca44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.0037 + -31.1491 * tfactors.T913i + 0.402181 * tfactors.T913 + -1.30287 * tfactors.T9 + 0.135535 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1491 * tfactors.T943i + (1.0/3.0) * 0.402181 * tfactors.T923i + -1.30287 + (5.0/3.0) * 0.135535 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22259,7 +25554,7 @@ void rate_p_Ca44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca44_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca44_to_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + He4 --> Ti48 @@ -22274,9 +25569,13 @@ void rate_He4_Ca44_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 55.9169 + -76.6391 * tfactors.T913i + 2.70825 * tfactors.T913 + -4.48808 * tfactors.T9 + 0.582872 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.6391 * tfactors.T943i + (1.0/3.0) * 2.70825 * tfactors.T923i + -4.48808 + (5.0/3.0) * 0.582872 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22291,7 +25590,7 @@ void rate_He4_Ca44_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca45_to_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca45_to_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + n --> Ca46 @@ -22306,9 +25605,13 @@ void rate_n_Ca45_to_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 22.6116 + -0.0524788 * tfactors.T9i + 5.01526 * tfactors.T913i + -14.4226 * tfactors.T913 + 1.37087 * tfactors.T9 + -0.111582 * tfactors.T953 + 4.87661 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0524788 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.01526 * tfactors.T943i + (1.0/3.0) * -14.4226 * tfactors.T923i + 1.37087 + (5.0/3.0) * -0.111582 * tfactors.T923 + 4.87661 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22323,7 +25626,7 @@ void rate_n_Ca45_to_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca45_to_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + p --> Sc46 @@ -22338,9 +25641,13 @@ void rate_p_Ca45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.986 + -31.1543 * tfactors.T913i + -6.97397 * tfactors.T913 + -0.344025 * tfactors.T9 + 0.128258 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1543 * tfactors.T943i + (1.0/3.0) * -6.97397 * tfactors.T923i + -0.344025 + (5.0/3.0) * 0.128258 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22355,7 +25662,7 @@ void rate_p_Ca45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca45_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca45_to_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + He4 --> Ti49 @@ -22370,9 +25677,13 @@ void rate_He4_Ca45_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 57.6604 + -76.6866 * tfactors.T913i + -9.95306 * tfactors.T913 + 1.72367 * tfactors.T9 + -0.226004 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.6866 * tfactors.T943i + (1.0/3.0) * -9.95306 * tfactors.T923i + 1.72367 + (5.0/3.0) * -0.226004 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22387,7 +25698,7 @@ void rate_He4_Ca45_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca46_to_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca46_to_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + n --> Ca47 @@ -22402,9 +25713,13 @@ void rate_n_Ca46_to_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.886174 + 0.206974 * tfactors.T9i + -19.7417 * tfactors.T913i + 35.2401 * tfactors.T913 + -1.61262 * tfactors.T9 + 0.0443701 * tfactors.T953 + -16.7507 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.206974 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.7417 * tfactors.T943i + (1.0/3.0) * 35.2401 * tfactors.T923i + -1.61262 + (5.0/3.0) * 0.0443701 * tfactors.T923 + -16.7507 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22419,7 +25734,7 @@ void rate_n_Ca46_to_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca46_to_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + p --> Sc47 @@ -22434,9 +25749,13 @@ void rate_p_Ca46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.3625 + -31.1593 * tfactors.T913i + 0.979497 * tfactors.T913 + -1.14947 * tfactors.T9 + 0.064347 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1593 * tfactors.T943i + (1.0/3.0) * 0.979497 * tfactors.T923i + -1.14947 + (5.0/3.0) * 0.064347 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22451,7 +25770,7 @@ void rate_p_Ca46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca46_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca46_to_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + He4 --> Ti50 @@ -22466,9 +25785,13 @@ void rate_He4_Ca46_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.9052 + -76.732 * tfactors.T913i + -13.6546 * tfactors.T913 + 1.61796 * tfactors.T9 + -0.159 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.732 * tfactors.T943i + (1.0/3.0) * -13.6546 * tfactors.T923i + 1.61796 + (5.0/3.0) * -0.159 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22483,7 +25806,7 @@ void rate_He4_Ca46_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca47_to_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca47_to_Ca48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 + n --> Ca48 @@ -22498,9 +25821,13 @@ void rate_n_Ca47_to_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.2216 + -2.88636 * tfactors.T913 + 0.79581 * tfactors.T9 + -0.0872236 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.88636 * tfactors.T923i + 0.79581 + (5.0/3.0) * -0.0872236 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22515,7 +25842,7 @@ void rate_n_Ca47_to_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca47_to_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 + p --> Sc48 @@ -22530,9 +25857,13 @@ void rate_p_Ca47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 29.5755 + -31.164 * tfactors.T913i + -2.03245 * tfactors.T913 + 0.0494826 * tfactors.T9 + 0.00201831 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.164 * tfactors.T943i + (1.0/3.0) * -2.03245 * tfactors.T923i + 0.0494826 + (5.0/3.0) * 0.00201831 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22547,7 +25878,7 @@ void rate_p_Ca47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca47_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca47_to_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 + He4 --> Ti51 @@ -22562,9 +25893,13 @@ void rate_He4_Ca47_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 50.6782 + -76.7758 * tfactors.T913i + -1.97823 * tfactors.T913 + -0.552991 * tfactors.T9 + 0.0318371 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.7758 * tfactors.T943i + (1.0/3.0) * -1.97823 * tfactors.T923i + -0.552991 + (5.0/3.0) * 0.0318371 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22579,7 +25914,7 @@ void rate_He4_Ca47_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca48_to_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca48 + p --> Sc49 @@ -22594,9 +25929,13 @@ void rate_p_Ca48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.8574 + -31.1685 * tfactors.T913i + 2.20987 * tfactors.T913 + -2.24347 * tfactors.T9 + 0.239302 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1685 * tfactors.T943i + (1.0/3.0) * 2.20987 * tfactors.T923i + -2.24347 + (5.0/3.0) * 0.239302 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22611,7 +25950,7 @@ void rate_p_Ca48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc43_to_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + n --> Sc44 @@ -22626,9 +25965,13 @@ void rate_n_Sc43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.7633 + -0.575865 * tfactors.T913 + 0.0565199 * tfactors.T9 + -0.0129886 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.575865 * tfactors.T923i + 0.0565199 + (5.0/3.0) * -0.0129886 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22643,7 +25986,7 @@ void rate_n_Sc43_to_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> Ti44 @@ -22658,9 +26001,13 @@ void rate_p_Sc43_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22675,7 +26022,7 @@ void rate_p_Sc43_to_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc43_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc43_to_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + He4 --> V47 @@ -22690,9 +26037,13 @@ void rate_He4_Sc43_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 59.0195 + -79.122 * tfactors.T913i + -7.07006 * tfactors.T913 + 0.424183 * tfactors.T9 + -0.0665231 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.122 * tfactors.T943i + (1.0/3.0) * -7.07006 * tfactors.T923i + 0.424183 + (5.0/3.0) * -0.0665231 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22707,7 +26058,7 @@ void rate_He4_Sc43_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc44_to_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + n --> Sc45 @@ -22722,9 +26073,13 @@ void rate_n_Sc44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.0705 + -1.31922 * tfactors.T913 + 0.167096 * tfactors.T9 + -0.0191676 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.31922 * tfactors.T923i + 0.167096 + (5.0/3.0) * -0.0191676 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22739,7 +26094,7 @@ void rate_n_Sc44_to_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc44_to_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + p --> Ti45 @@ -22754,9 +26109,13 @@ void rate_p_Sc44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.1446 + -32.179 * tfactors.T913i + 1.40668 * tfactors.T913 + -2.02828 * tfactors.T9 + 0.230326 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.179 * tfactors.T943i + (1.0/3.0) * 1.40668 * tfactors.T923i + -2.02828 + (5.0/3.0) * 0.230326 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22771,7 +26130,7 @@ void rate_p_Sc44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc44_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc44_to_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + He4 --> V48 @@ -22786,9 +26145,13 @@ void rate_He4_Sc44_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 56.6322 + -79.1731 * tfactors.T913i + -4.22583 * tfactors.T913 + -0.427863 * tfactors.T9 + 0.0235817 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.1731 * tfactors.T943i + (1.0/3.0) * -4.22583 * tfactors.T923i + -0.427863 + (5.0/3.0) * 0.0235817 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22803,7 +26166,7 @@ void rate_He4_Sc44_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc45_to_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + n --> Sc46 @@ -22818,9 +26181,13 @@ void rate_n_Sc45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 6.62692 + 0.0466836 * tfactors.T9i + -6.18502 * tfactors.T913i + 16.5806 * tfactors.T913 + -1.45949 * tfactors.T9 + 0.0995696 * tfactors.T953 + -6.53696 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0466836 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -6.18502 * tfactors.T943i + (1.0/3.0) * 16.5806 * tfactors.T923i + -1.45949 + (5.0/3.0) * 0.0995696 * tfactors.T923 + -6.53696 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22835,7 +26202,7 @@ void rate_n_Sc45_to_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc45_to_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + p --> Ti46 @@ -22850,9 +26217,13 @@ void rate_p_Sc45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.8383 + -32.1843 * tfactors.T913i + 1.38642 * tfactors.T913 + -1.64811 * tfactors.T9 + 0.157323 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1843 * tfactors.T943i + (1.0/3.0) * 1.38642 * tfactors.T923i + -1.64811 + (5.0/3.0) * 0.157323 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22867,7 +26238,7 @@ void rate_p_Sc45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc45_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc45_to_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + He4 --> V49 @@ -22882,9 +26253,13 @@ void rate_He4_Sc45_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 60.1427 + -79.222 * tfactors.T913i + -5.31022 * tfactors.T913 + -1.37323 * tfactors.T9 + 0.21679 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.222 * tfactors.T943i + (1.0/3.0) * -5.31022 * tfactors.T923i + -1.37323 + (5.0/3.0) * 0.21679 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22899,7 +26274,7 @@ void rate_He4_Sc45_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc46_to_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + n --> Sc47 @@ -22914,9 +26289,13 @@ void rate_n_Sc46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7335 + -0.0211697 * tfactors.T9i + 1.157 * tfactors.T913i + -3.39674 * tfactors.T913 + 0.179575 * tfactors.T9 + -0.00780135 * tfactors.T953 + 0.783491 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0211697 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.157 * tfactors.T943i + (1.0/3.0) * -3.39674 * tfactors.T923i + 0.179575 + (5.0/3.0) * -0.00780135 * tfactors.T923 + 0.783491 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22931,7 +26310,7 @@ void rate_n_Sc46_to_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc46_to_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + p --> Ti47 @@ -22946,9 +26325,13 @@ void rate_p_Sc46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 134.507 + -5.50507 * tfactors.T9i + 212.079 * tfactors.T913i + -358.599 * tfactors.T913 + 19.2793 * tfactors.T9 + -1.01913 * tfactors.T953 + 176.254 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.50507 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 212.079 * tfactors.T943i + (1.0/3.0) * -358.599 * tfactors.T923i + 19.2793 + (5.0/3.0) * -1.01913 * tfactors.T923 + 176.254 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22963,7 +26346,7 @@ void rate_p_Sc46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc46_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc46_to_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + He4 --> V50 @@ -22978,9 +26361,13 @@ void rate_He4_Sc46_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -953.322 + 15.73 * tfactors.T9i + -1681.31 * tfactors.T913i + 2743.27 * tfactors.T913 + -162.405 * tfactors.T9 + 9.24681 * tfactors.T953 + -1292.78 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -15.73 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1681.31 * tfactors.T943i + (1.0/3.0) * 2743.27 * tfactors.T923i + -162.405 + (5.0/3.0) * 9.24681 * tfactors.T923 + -1292.78 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -22995,7 +26382,7 @@ void rate_He4_Sc46_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc47_to_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + n --> Sc48 @@ -23010,9 +26397,13 @@ void rate_n_Sc47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.3286 + -0.0127821 * tfactors.T9i + 0.297987 * tfactors.T913i + 0.438296 * tfactors.T913 + 0.0468739 * tfactors.T9 + -0.0255895 * tfactors.T953 + -0.227277 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0127821 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.297987 * tfactors.T943i + (1.0/3.0) * 0.438296 * tfactors.T923i + 0.0468739 + (5.0/3.0) * -0.0255895 * tfactors.T923 + -0.227277 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23027,7 +26418,7 @@ void rate_n_Sc47_to_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc47_to_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + p --> Ti48 @@ -23042,9 +26433,13 @@ void rate_p_Sc47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 50.4169 + -5.06842 * tfactors.T9i + 155.189 * tfactors.T913i + -211.783 * tfactors.T913 + 9.70286 * tfactors.T9 + -0.48757 * tfactors.T953 + 117.307 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.06842 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 155.189 * tfactors.T943i + (1.0/3.0) * -211.783 * tfactors.T923i + 9.70286 + (5.0/3.0) * -0.48757 * tfactors.T923 + 117.307 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23059,7 +26454,7 @@ void rate_p_Sc47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc47_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc47_to_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + He4 --> V51 @@ -23074,9 +26469,13 @@ void rate_He4_Sc47_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -1038.06 + 15.2937 * tfactors.T9i + -1682.84 * tfactors.T913i + 2838.54 * tfactors.T913 + -171.874 * tfactors.T9 + 9.93236 * tfactors.T953 + -1317.42 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -15.2937 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1682.84 * tfactors.T943i + (1.0/3.0) * 2838.54 * tfactors.T923i + -171.874 + (5.0/3.0) * 9.93236 * tfactors.T923 + -1317.42 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23091,7 +26490,7 @@ void rate_He4_Sc47_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc48_to_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + n --> Sc49 @@ -23106,9 +26505,13 @@ void rate_n_Sc48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.731 + -0.026995 * tfactors.T9i + 2.32858 * tfactors.T913i + -6.44325 * tfactors.T913 + 0.608389 * tfactors.T9 + -0.0534156 * tfactors.T953 + 2.13196 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.026995 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.32858 * tfactors.T943i + (1.0/3.0) * -6.44325 * tfactors.T923i + 0.608389 + (5.0/3.0) * -0.0534156 * tfactors.T923 + 2.13196 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23123,7 +26526,7 @@ void rate_n_Sc48_to_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc48_to_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + p --> Ti49 @@ -23138,9 +26541,13 @@ void rate_p_Sc48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 101.172 + -5.49324 * tfactors.T9i + 198.826 * tfactors.T913i + -313.844 * tfactors.T913 + 17.0251 * tfactors.T9 + -0.945704 * tfactors.T953 + 159.404 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.49324 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 198.826 * tfactors.T943i + (1.0/3.0) * -313.844 * tfactors.T923i + 17.0251 + (5.0/3.0) * -0.945704 * tfactors.T923 + 159.404 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23155,7 +26562,7 @@ void rate_p_Sc48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc48_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc48_to_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + He4 --> V52 @@ -23170,9 +26577,13 @@ void rate_He4_Sc48_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -957.316 + 15.0869 * tfactors.T9i + -1642.74 * tfactors.T913i + 2707.58 * tfactors.T913 + -162.101 * tfactors.T9 + 9.30824 * tfactors.T953 + -1268.27 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -15.0869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1642.74 * tfactors.T943i + (1.0/3.0) * 2707.58 * tfactors.T923i + -162.101 + (5.0/3.0) * 9.30824 * tfactors.T923 + -1268.27 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23187,7 +26598,7 @@ void rate_He4_Sc48_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc49_to_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 + p --> Ti50 @@ -23202,9 +26613,13 @@ void rate_p_Sc49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 106.943 + -5.43496 * tfactors.T9i + 195.561 * tfactors.T913i + -317.373 * tfactors.T913 + 17.5352 * tfactors.T9 + -0.999861 * tfactors.T953 + 159.384 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.43496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 195.561 * tfactors.T943i + (1.0/3.0) * -317.373 * tfactors.T923i + 17.5352 + (5.0/3.0) * -0.999861 * tfactors.T923 + 159.384 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23219,7 +26634,7 @@ void rate_p_Sc49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti44_to_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + n --> Ti45 @@ -23234,9 +26649,13 @@ void rate_n_Ti44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.2506 + 1.01203 * tfactors.T913 + -0.201174 * tfactors.T9 + 0.00360954 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.01203 * tfactors.T923i + -0.201174 + (5.0/3.0) * 0.00360954 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23251,7 +26670,7 @@ void rate_n_Ti44_to_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> Cr48 @@ -23266,9 +26685,13 @@ void rate_He4_Ti44_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23283,7 +26706,7 @@ void rate_He4_Ti44_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti45_to_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + n --> Ti46 @@ -23298,9 +26721,13 @@ void rate_n_Ti45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.133 + -1.55633 * tfactors.T913 + 0.300783 * tfactors.T9 + -0.0373696 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.55633 * tfactors.T923i + 0.300783 + (5.0/3.0) * -0.0373696 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23315,7 +26742,7 @@ void rate_n_Ti45_to_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti45_to_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti45_to_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + p --> V46 @@ -23330,9 +26757,13 @@ void rate_p_Ti45_to_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 37.4468 + -33.1981 * tfactors.T913i + -1.66837 * tfactors.T913 + -2.50285 * tfactors.T9 + 0.349152 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.1981 * tfactors.T943i + (1.0/3.0) * -1.66837 * tfactors.T923i + -2.50285 + (5.0/3.0) * 0.349152 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23347,7 +26778,7 @@ void rate_p_Ti45_to_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti45_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti45_to_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + He4 --> Cr49 @@ -23362,9 +26793,13 @@ void rate_He4_Ti45_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.023 + -81.7175 * tfactors.T913i + -10.1755 * tfactors.T913 + 0.364167 * tfactors.T9 + -0.000317666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.7175 * tfactors.T943i + (1.0/3.0) * -10.1755 * tfactors.T923i + 0.364167 + (5.0/3.0) * -0.000317666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23379,7 +26814,7 @@ void rate_He4_Ti45_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti46_to_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + n --> Ti47 @@ -23394,9 +26829,13 @@ void rate_n_Ti46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.2761 + 0.0882347 * tfactors.T9i + -7.30817 * tfactors.T913i + 10.713 * tfactors.T913 + -0.537251 * tfactors.T9 + 0.0187304 * tfactors.T953 + -5.38893 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0882347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.30817 * tfactors.T943i + (1.0/3.0) * 10.713 * tfactors.T923i + -0.537251 + (5.0/3.0) * 0.0187304 * tfactors.T923 + -5.38893 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23411,7 +26850,7 @@ void rate_n_Ti46_to_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti46_to_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + p --> V47 @@ -23426,9 +26865,13 @@ void rate_p_Ti46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.7683 + -33.2034 * tfactors.T913i + 0.505619 * tfactors.T913 + -1.73654 * tfactors.T9 + 0.207342 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.2034 * tfactors.T943i + (1.0/3.0) * 0.505619 * tfactors.T923i + -1.73654 + (5.0/3.0) * 0.207342 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23443,7 +26886,7 @@ void rate_p_Ti46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti46_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti46_to_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + He4 --> Cr50 @@ -23458,9 +26901,13 @@ void rate_He4_Ti46_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 57.0372 + -81.7658 * tfactors.T913i + 3.48637 * tfactors.T913 + -3.9188 * tfactors.T9 + 0.440356 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.7658 * tfactors.T943i + (1.0/3.0) * 3.48637 * tfactors.T923i + -3.9188 + (5.0/3.0) * 0.440356 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23475,7 +26922,7 @@ void rate_He4_Ti46_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti47_to_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + n --> Ti48 @@ -23490,9 +26937,13 @@ void rate_n_Ti47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.8734 + 0.0181751 * tfactors.T9i + -2.34945 * tfactors.T913i + 3.2238 * tfactors.T913 + -0.0455487 * tfactors.T9 + -0.0153771 * tfactors.T953 + -2.10785 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0181751 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.34945 * tfactors.T943i + (1.0/3.0) * 3.2238 * tfactors.T923i + -0.0455487 + (5.0/3.0) * -0.0153771 * tfactors.T923 + -2.10785 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23507,7 +26958,7 @@ void rate_n_Ti47_to_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti47_to_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + p --> V48 @@ -23522,9 +26973,13 @@ void rate_p_Ti47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.1951 + -33.2084 * tfactors.T913i + 1.06738 * tfactors.T913 + -1.55342 * tfactors.T9 + 0.159225 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.2084 * tfactors.T943i + (1.0/3.0) * 1.06738 * tfactors.T923i + -1.55342 + (5.0/3.0) * 0.159225 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23539,7 +26994,7 @@ void rate_p_Ti47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti47_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti47_to_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + He4 --> Cr51 @@ -23554,9 +27009,13 @@ void rate_He4_Ti47_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.333 + -81.8123 * tfactors.T913i + -8.91821 * tfactors.T913 + -0.0329369 * tfactors.T9 + 0.039179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.8123 * tfactors.T943i + (1.0/3.0) * -8.91821 * tfactors.T923i + -0.0329369 + (5.0/3.0) * 0.039179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23571,7 +27030,7 @@ void rate_He4_Ti47_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti48_to_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + n --> Ti49 @@ -23586,9 +27045,13 @@ void rate_n_Ti48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -16.7879 + 0.320502 * tfactors.T9i + -32.4895 * tfactors.T913i + 67.9234 * tfactors.T913 + -4.27126 * tfactors.T9 + 0.230364 * tfactors.T953 + -29.4521 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.320502 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.4895 * tfactors.T943i + (1.0/3.0) * 67.9234 * tfactors.T923i + -4.27126 + (5.0/3.0) * 0.230364 * tfactors.T923 + -29.4521 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23603,7 +27066,7 @@ void rate_n_Ti48_to_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti48_to_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + p --> V49 @@ -23618,9 +27081,13 @@ void rate_p_Ti48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.2907 + -33.2133 * tfactors.T913i + 0.564373 * tfactors.T913 + -1.18789 * tfactors.T9 + 0.110892 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.2133 * tfactors.T943i + (1.0/3.0) * 0.564373 * tfactors.T923i + -1.18789 + (5.0/3.0) * 0.110892 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23635,7 +27102,7 @@ void rate_p_Ti48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti48_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti48_to_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + He4 --> Cr52 @@ -23650,9 +27117,13 @@ void rate_He4_Ti48_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 56.6787 + -81.8569 * tfactors.T913i + 4.92305 * tfactors.T913 + -5.04112 * tfactors.T9 + 0.6175 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.8569 * tfactors.T943i + (1.0/3.0) * 4.92305 * tfactors.T923i + -5.04112 + (5.0/3.0) * 0.6175 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23667,7 +27138,7 @@ void rate_He4_Ti48_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti49_to_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + n --> Ti50 @@ -23682,9 +27153,13 @@ void rate_n_Ti49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.6326 + 0.0289531 * tfactors.T9i + -2.8384 * tfactors.T913i + 4.10103 * tfactors.T913 + -0.0325714 * tfactors.T9 + -0.0305035 * tfactors.T953 + -2.3012 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0289531 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.8384 * tfactors.T943i + (1.0/3.0) * 4.10103 * tfactors.T923i + -0.0325714 + (5.0/3.0) * -0.0305035 * tfactors.T923 + -2.3012 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23699,7 +27174,7 @@ void rate_n_Ti49_to_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti49_to_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + p --> V50 @@ -23714,9 +27189,13 @@ void rate_p_Ti49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 34.0041 + -33.2179 * tfactors.T913i + 3.05321 * tfactors.T913 + -2.48884 * tfactors.T9 + 0.254524 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.2179 * tfactors.T943i + (1.0/3.0) * 3.05321 * tfactors.T923i + -2.48884 + (5.0/3.0) * 0.254524 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23731,7 +27210,7 @@ void rate_p_Ti49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti49_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti49_to_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + He4 --> Cr53 @@ -23746,9 +27225,13 @@ void rate_He4_Ti49_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.4688 + -81.8999 * tfactors.T913i + -15.3695 * tfactors.T913 + 2.51758 * tfactors.T9 + -0.283455 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.8999 * tfactors.T943i + (1.0/3.0) * -15.3695 * tfactors.T923i + 2.51758 + (5.0/3.0) * -0.283455 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23763,7 +27246,7 @@ void rate_He4_Ti49_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti50_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti50_to_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + n --> Ti51 @@ -23778,9 +27261,13 @@ void rate_n_Ti50_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.4047 + -0.00979462 * tfactors.T9i + 7.07296 * tfactors.T913i + -37.8514 * tfactors.T913 + 4.03187 * tfactors.T9 + -0.339274 * tfactors.T953 + 11.4094 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00979462 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.07296 * tfactors.T943i + (1.0/3.0) * -37.8514 * tfactors.T923i + 4.03187 + (5.0/3.0) * -0.339274 * tfactors.T923 + 11.4094 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23795,7 +27282,7 @@ void rate_n_Ti50_to_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti50_to_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + p --> V51 @@ -23810,9 +27297,13 @@ void rate_p_Ti50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.1261 + -33.2224 * tfactors.T913i + 0.579407 * tfactors.T913 + -0.949378 * tfactors.T9 + 0.0567069 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -33.2224 * tfactors.T943i + (1.0/3.0) * 0.579407 * tfactors.T923i + -0.949378 + (5.0/3.0) * 0.0567069 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23827,7 +27318,7 @@ void rate_p_Ti50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti50_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti50_to_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + He4 --> Cr54 @@ -23842,9 +27333,13 @@ void rate_He4_Ti50_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.4244 + -81.9411 * tfactors.T913i + -6.28155 * tfactors.T913 + -2.0416 * tfactors.T9 + 0.332085 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.9411 * tfactors.T943i + (1.0/3.0) * -6.28155 * tfactors.T923i + -2.0416 + (5.0/3.0) * 0.332085 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23859,7 +27354,7 @@ void rate_He4_Ti50_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti51_to_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 + p --> V52 @@ -23874,9 +27369,13 @@ void rate_p_Ti51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 130.346 + -5.83918 * tfactors.T9i + 220.953 * tfactors.T913i + -370.119 * tfactors.T913 + 21.0839 * tfactors.T9 + -1.22336 * tfactors.T953 + 182.332 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.83918 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 220.953 * tfactors.T943i + (1.0/3.0) * -370.119 * tfactors.T923i + 21.0839 + (5.0/3.0) * -1.22336 * tfactors.T923 + 182.332 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23891,7 +27390,7 @@ void rate_p_Ti51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V46_to_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 + n --> V47 @@ -23906,9 +27405,13 @@ void rate_n_V46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 15.7405 + -0.692996 * tfactors.T913 + 0.316873 * tfactors.T9 + -0.0417235 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.692996 * tfactors.T923i + 0.316873 + (5.0/3.0) * -0.0417235 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23923,7 +27426,7 @@ void rate_n_V46_to_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V46_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V46_to_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 + He4 --> Mn50 @@ -23938,9 +27441,13 @@ void rate_He4_V46_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 54.311 + -84.2255 * tfactors.T913i + -4.85634 * tfactors.T913 + 0.0528515 * tfactors.T9 + -0.0425496 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.2255 * tfactors.T943i + (1.0/3.0) * -4.85634 * tfactors.T923i + 0.0528515 + (5.0/3.0) * -0.0425496 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23955,7 +27462,7 @@ void rate_He4_V46_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V47_to_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + n --> V48 @@ -23970,9 +27477,13 @@ void rate_n_V47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5513 + -2.40159 * tfactors.T913 + 0.594573 * tfactors.T9 + -0.0682896 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.40159 * tfactors.T923i + 0.594573 + (5.0/3.0) * -0.0682896 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -23987,7 +27498,7 @@ void rate_n_V47_to_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> Cr48 @@ -24002,9 +27513,13 @@ void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24019,9 +27534,13 @@ void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24036,9 +27555,13 @@ void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24053,9 +27576,13 @@ void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24070,7 +27597,7 @@ void rate_p_V47_to_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V47_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V47_to_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + He4 --> Mn51 @@ -24085,9 +27612,13 @@ void rate_He4_V47_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 56.8618 + -84.2732 * tfactors.T913i + -2.98061 * tfactors.T913 + -0.531361 * tfactors.T9 + 0.023612 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.2732 * tfactors.T943i + (1.0/3.0) * -2.98061 * tfactors.T923i + -0.531361 + (5.0/3.0) * 0.023612 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24102,7 +27633,7 @@ void rate_He4_V47_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V48_to_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + n --> V49 @@ -24117,9 +27648,13 @@ void rate_n_V48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.8835 + -0.917026 * tfactors.T913 + -0.109162 * tfactors.T9 + 0.0127488 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.917026 * tfactors.T923i + -0.109162 + (5.0/3.0) * 0.0127488 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24134,7 +27669,7 @@ void rate_n_V48_to_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V48_to_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + p --> Cr49 @@ -24149,9 +27684,13 @@ void rate_p_V48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 34.5168 + -34.2123 * tfactors.T913i + 2.51264 * tfactors.T913 + -2.09211 * tfactors.T9 + 0.219444 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2123 * tfactors.T943i + (1.0/3.0) * 2.51264 * tfactors.T923i + -2.09211 + (5.0/3.0) * 0.219444 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24166,7 +27705,7 @@ void rate_p_V48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V48_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V48_to_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + He4 --> Mn52 @@ -24181,9 +27720,13 @@ void rate_He4_V48_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 62.5923 + -84.3192 * tfactors.T913i + -8.32959 * tfactors.T913 + 0.33994 * tfactors.T9 + -0.0359909 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.3192 * tfactors.T943i + (1.0/3.0) * -8.32959 * tfactors.T923i + 0.33994 + (5.0/3.0) * -0.0359909 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24198,7 +27741,7 @@ void rate_He4_V48_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V49_to_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + n --> V50 @@ -24213,9 +27756,13 @@ void rate_n_V49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.5445 + -1.8725 * tfactors.T913 + 0.291609 * tfactors.T9 + -0.0370216 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.8725 * tfactors.T923i + 0.291609 + (5.0/3.0) * -0.0370216 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24230,7 +27777,7 @@ void rate_n_V49_to_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V49_to_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + p --> Cr50 @@ -24245,9 +27792,13 @@ void rate_p_V49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 35.2335 + -34.217 * tfactors.T913i + 1.28258 * tfactors.T913 + -1.5098 * tfactors.T9 + 0.142011 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.217 * tfactors.T943i + (1.0/3.0) * 1.28258 * tfactors.T923i + -1.5098 + (5.0/3.0) * 0.142011 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24262,7 +27813,7 @@ void rate_p_V49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V49_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V49_to_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + He4 --> Mn53 @@ -24277,9 +27828,13 @@ void rate_He4_V49_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 62.4555 + -84.3633 * tfactors.T913i + -5.28933 * tfactors.T913 + -1.3103 * tfactors.T9 + 0.187088 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.3633 * tfactors.T943i + (1.0/3.0) * -5.28933 * tfactors.T923i + -1.3103 + (5.0/3.0) * 0.187088 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24294,7 +27849,7 @@ void rate_He4_V49_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V50_to_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + n --> V51 @@ -24309,9 +27864,13 @@ void rate_n_V50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 26.4771 + -0.118554 * tfactors.T9i + 10.9535 * tfactors.T913i + -23.1254 * tfactors.T913 + 1.53091 * tfactors.T9 + -0.0992995 * tfactors.T953 + 9.62203 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.118554 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 10.9535 * tfactors.T943i + (1.0/3.0) * -23.1254 * tfactors.T923i + 1.53091 + (5.0/3.0) * -0.0992995 * tfactors.T923 + 9.62203 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24326,7 +27885,7 @@ void rate_n_V50_to_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V50_to_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + p --> Cr51 @@ -24341,9 +27900,13 @@ void rate_p_V50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 34.5894 + -34.2216 * tfactors.T913i + 2.39774 * tfactors.T913 + -2.15306 * tfactors.T9 + 0.232283 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 2.39774 * tfactors.T923i + -2.15306 + (5.0/3.0) * 0.232283 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24358,7 +27921,7 @@ void rate_p_V50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V50_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V50_to_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + He4 --> Mn54 @@ -24373,9 +27936,13 @@ void rate_He4_V50_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 63.3156 + -84.4058 * tfactors.T913i + -6.25173 * tfactors.T913 + -1.31339 * tfactors.T9 + 0.208695 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.4058 * tfactors.T943i + (1.0/3.0) * -6.25173 * tfactors.T923i + -1.31339 + (5.0/3.0) * 0.208695 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24390,7 +27957,7 @@ void rate_He4_V50_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V51_to_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + n --> V52 @@ -24405,9 +27972,13 @@ void rate_n_V51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 3.43672 + 0.00903385 * tfactors.T9i + -4.14102 * tfactors.T913i + 17.4073 * tfactors.T913 + -1.59715 * tfactors.T9 + 0.114181 * tfactors.T953 + -5.93987 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.00903385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -4.14102 * tfactors.T943i + (1.0/3.0) * 17.4073 * tfactors.T923i + -1.59715 + (5.0/3.0) * 0.114181 * tfactors.T923 + -5.93987 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24422,7 +27993,7 @@ void rate_n_V51_to_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V51_to_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + p --> Cr52 @@ -24437,9 +28008,13 @@ void rate_p_V51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 34.1505 + -34.2261 * tfactors.T913i + 3.30454 * tfactors.T913 + -2.61654 * tfactors.T9 + 0.283602 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2261 * tfactors.T943i + (1.0/3.0) * 3.30454 * tfactors.T923i + -2.61654 + (5.0/3.0) * 0.283602 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24454,7 +28029,7 @@ void rate_p_V51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V51_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V51_to_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + He4 --> Mn55 @@ -24469,9 +28044,13 @@ void rate_He4_V51_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 61.6131 + -84.4467 * tfactors.T913i + -1.29542 * tfactors.T913 + -3.56909 * tfactors.T9 + 0.513926 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.4467 * tfactors.T943i + (1.0/3.0) * -1.29542 * tfactors.T923i + -3.56909 + (5.0/3.0) * 0.513926 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24486,7 +28065,7 @@ void rate_He4_V51_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V52_to_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 + p --> Cr53 @@ -24501,9 +28080,13 @@ void rate_p_V52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: ln_set_rate = 129.295 + -6.02127 * tfactors.T9i + 224.733 * tfactors.T913i + -373.356 * tfactors.T913 + 21.346 * tfactors.T9 + -1.24075 * tfactors.T953 + 184.549 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.02127 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 224.733 * tfactors.T943i + (1.0/3.0) * -373.356 * tfactors.T923i + 21.346 + (5.0/3.0) * -1.24075 * tfactors.T923 + 184.549 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24518,7 +28101,7 @@ void rate_p_V52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex:: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr48_to_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + n --> Cr49 @@ -24533,9 +28116,13 @@ void rate_n_Cr48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8544 + -0.000452357 * tfactors.T913 + 0.0412838 * tfactors.T9 + -0.0160865 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.000452357 * tfactors.T923i + 0.0412838 + (5.0/3.0) * -0.0160865 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24550,7 +28137,7 @@ void rate_n_Cr48_to_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> Fe52 @@ -24565,9 +28152,13 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24582,7 +28173,7 @@ void rate_He4_Cr48_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr49_to_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + n --> Cr50 @@ -24597,9 +28188,13 @@ void rate_n_Cr49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.8355 + -1.98927 * tfactors.T913 + 0.465124 * tfactors.T9 + -0.0582249 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.98927 * tfactors.T923i + 0.465124 + (5.0/3.0) * -0.0582249 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24614,7 +28209,7 @@ void rate_n_Cr49_to_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr49_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr49_to_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + p --> Mn50 @@ -24629,9 +28224,13 @@ void rate_p_Cr49_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.3884 + -35.2018 * tfactors.T913i + 0.168579 * tfactors.T913 + -2.87983 * tfactors.T9 + 0.378768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2018 * tfactors.T943i + (1.0/3.0) * 0.168579 * tfactors.T923i + -2.87983 + (5.0/3.0) * 0.378768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24646,7 +28245,7 @@ void rate_p_Cr49_to_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr49_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr49_to_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + He4 --> Fe53 @@ -24661,9 +28260,13 @@ void rate_He4_Cr49_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.1467 + -86.7913 * tfactors.T913i + -6.51572 * tfactors.T913 + -1.21249 * tfactors.T9 + 0.185473 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7913 * tfactors.T943i + (1.0/3.0) * -6.51572 * tfactors.T923i + -1.21249 + (5.0/3.0) * 0.185473 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24678,7 +28281,7 @@ void rate_He4_Cr49_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr50_to_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + n --> Cr51 @@ -24693,9 +28296,13 @@ void rate_n_Cr50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.1066 + -0.0225613 * tfactors.T9i + 0.815037 * tfactors.T913i + -0.708732 * tfactors.T913 + 0.386295 * tfactors.T9 + -0.0615661 * tfactors.T953 + 0.0454627 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0225613 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.815037 * tfactors.T943i + (1.0/3.0) * -0.708732 * tfactors.T923i + 0.386295 + (5.0/3.0) * -0.0615661 * tfactors.T923 + 0.0454627 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24710,7 +28317,7 @@ void rate_n_Cr50_to_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr50_to_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + p --> Mn51 @@ -24725,9 +28332,13 @@ void rate_p_Cr50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.8532 + -35.2065 * tfactors.T913i + 0.884621 * tfactors.T913 + -1.76421 * tfactors.T9 + 0.202494 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2065 * tfactors.T943i + (1.0/3.0) * 0.884621 * tfactors.T923i + -1.76421 + (5.0/3.0) * 0.202494 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24742,7 +28353,7 @@ void rate_p_Cr50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr50_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr50_to_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + He4 --> Fe54 @@ -24757,9 +28368,13 @@ void rate_He4_Cr50_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 59.7193 + -86.8349 * tfactors.T913i + 2.37343 * tfactors.T913 + -3.65677 * tfactors.T9 + 0.412128 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.8349 * tfactors.T943i + (1.0/3.0) * 2.37343 * tfactors.T923i + -3.65677 + (5.0/3.0) * 0.412128 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24774,7 +28389,7 @@ void rate_He4_Cr50_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr51_to_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + n --> Cr52 @@ -24789,9 +28404,13 @@ void rate_n_Cr51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 20.1253 + -0.0860167 * tfactors.T9i + 6.95563 * tfactors.T913i + -11.4485 * tfactors.T913 + 0.736956 * tfactors.T9 + -0.0695323 * tfactors.T953 + 5.31244 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0860167 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6.95563 * tfactors.T943i + (1.0/3.0) * -11.4485 * tfactors.T923i + 0.736956 + (5.0/3.0) * -0.0695323 * tfactors.T923 + 5.31244 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24806,7 +28425,7 @@ void rate_n_Cr51_to_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr51_to_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + p --> Mn52 @@ -24821,9 +28440,13 @@ void rate_p_Cr51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.265 + -35.2111 * tfactors.T913i + 1.49375 * tfactors.T913 + -1.48209 * tfactors.T9 + 0.131902 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2111 * tfactors.T943i + (1.0/3.0) * 1.49375 * tfactors.T923i + -1.48209 + (5.0/3.0) * 0.131902 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24838,7 +28461,7 @@ void rate_p_Cr51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr51_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr51_to_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + He4 --> Fe55 @@ -24853,9 +28476,13 @@ void rate_He4_Cr51_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.6085 + -86.8771 * tfactors.T913i + -0.0873902 * tfactors.T913 + -3.40716 * tfactors.T9 + 0.441679 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.8771 * tfactors.T943i + (1.0/3.0) * -0.0873902 * tfactors.T923i + -3.40716 + (5.0/3.0) * 0.441679 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24870,7 +28497,7 @@ void rate_He4_Cr51_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr52_to_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + n --> Cr53 @@ -24885,9 +28512,13 @@ void rate_n_Cr52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.3183 + -0.0314027 * tfactors.T9i + 5.71728 * tfactors.T913i + -20.4149 * tfactors.T913 + 1.95304 * tfactors.T9 + -0.175538 * tfactors.T953 + 7.18293 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0314027 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.71728 * tfactors.T943i + (1.0/3.0) * -20.4149 * tfactors.T923i + 1.95304 + (5.0/3.0) * -0.175538 * tfactors.T923 + 7.18293 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24902,7 +28533,7 @@ void rate_n_Cr52_to_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr52_to_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + p --> Mn53 @@ -24917,9 +28548,13 @@ void rate_p_Cr52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.6954 + -35.2154 * tfactors.T913i + 0.73019 * tfactors.T913 + -1.26018 * tfactors.T9 + 0.121141 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2154 * tfactors.T943i + (1.0/3.0) * 0.73019 * tfactors.T923i + -1.26018 + (5.0/3.0) * 0.121141 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24934,7 +28569,7 @@ void rate_p_Cr52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr52_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr52_to_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + He4 --> Fe56 @@ -24949,9 +28584,13 @@ void rate_He4_Cr52_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 58.0146 + -86.9175 * tfactors.T913i + 5.655 * tfactors.T913 + -4.53625 * tfactors.T9 + 0.479806 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.9175 * tfactors.T943i + (1.0/3.0) * 5.655 * tfactors.T923i + -4.53625 + (5.0/3.0) * 0.479806 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24966,7 +28605,7 @@ void rate_He4_Cr52_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr53_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr53_to_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + n --> Cr54 @@ -24981,9 +28620,13 @@ void rate_n_Cr53_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 10.8793 + -0.00984544 * tfactors.T9i + -1.26805 * tfactors.T913i + 6.34126 * tfactors.T913 + -0.39287 * tfactors.T9 + 0.000487041 * tfactors.T953 + -2.46456 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00984544 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.26805 * tfactors.T943i + (1.0/3.0) * 6.34126 * tfactors.T923i + -0.39287 + (5.0/3.0) * 0.000487041 * tfactors.T923 + -2.46456 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -24998,7 +28641,7 @@ void rate_n_Cr53_to_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr53_to_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + p --> Mn54 @@ -25013,9 +28656,13 @@ void rate_p_Cr53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.2032 + -35.2197 * tfactors.T913i + 3.74805 * tfactors.T913 + -2.77987 * tfactors.T9 + 0.296885 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2197 * tfactors.T943i + (1.0/3.0) * 3.74805 * tfactors.T923i + -2.77987 + (5.0/3.0) * 0.296885 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25030,7 +28677,7 @@ void rate_p_Cr53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr53_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr53_to_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + He4 --> Fe57 @@ -25045,9 +28692,13 @@ void rate_He4_Cr53_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.95 + -86.9567 * tfactors.T913i + -12.0579 * tfactors.T913 + 1.33466 * tfactors.T9 + -0.14709 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.9567 * tfactors.T943i + (1.0/3.0) * -12.0579 * tfactors.T923i + 1.33466 + (5.0/3.0) * -0.14709 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25062,7 +28713,7 @@ void rate_He4_Cr53_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr54_to_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + p --> Mn55 @@ -25077,9 +28728,13 @@ void rate_p_Cr54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.9354 + -35.2237 * tfactors.T913i + 2.60768 * tfactors.T913 + -1.7864 * tfactors.T9 + 0.134189 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2237 * tfactors.T943i + (1.0/3.0) * 2.60768 * tfactors.T923i + -1.7864 + (5.0/3.0) * 0.134189 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25094,7 +28749,7 @@ void rate_p_Cr54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr54_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr54_to_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + He4 --> Fe58 @@ -25109,9 +28764,13 @@ void rate_He4_Cr54_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.2926 + -86.9945 * tfactors.T913i + -1.05674 * tfactors.T913 + -4.13443 * tfactors.T9 + 0.599141 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.9945 * tfactors.T943i + (1.0/3.0) * -1.05674 * tfactors.T923i + -4.13443 + (5.0/3.0) * 0.599141 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25126,7 +28785,7 @@ void rate_He4_Cr54_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn50_to_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + n --> Mn51 @@ -25141,9 +28800,13 @@ void rate_n_Mn50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.4434 + -0.538879 * tfactors.T913 + 0.284528 * tfactors.T9 + -0.0459849 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.538879 * tfactors.T923i + 0.284528 + (5.0/3.0) * -0.0459849 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25158,7 +28821,7 @@ void rate_n_Mn50_to_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn50_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn50_to_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + He4 --> Co54 @@ -25173,9 +28836,13 @@ void rate_He4_Mn50_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 54.3174 + -89.2309 * tfactors.T913i + -1.30702 * tfactors.T913 + -1.30543 * tfactors.T9 + 0.141679 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.2309 * tfactors.T943i + (1.0/3.0) * -1.30702 * tfactors.T923i + -1.30543 + (5.0/3.0) * 0.141679 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25190,7 +28857,7 @@ void rate_He4_Mn50_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn51_to_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + n --> Mn52 @@ -25205,9 +28872,13 @@ void rate_n_Mn51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2055 + -1.83611 * tfactors.T913 + 0.460384 * tfactors.T9 + -0.0584947 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.83611 * tfactors.T923i + 0.460384 + (5.0/3.0) * -0.0584947 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25222,7 +28893,7 @@ void rate_n_Mn51_to_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> Fe52 @@ -25237,9 +28908,13 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25254,7 +28929,7 @@ void rate_p_Mn51_to_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> Co55 @@ -25269,9 +28944,13 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.9219 + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25286,7 +28965,7 @@ void rate_He4_Mn51_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn52_to_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + n --> Mn53 @@ -25301,9 +28980,13 @@ void rate_n_Mn52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.0941 + -0.91084 * tfactors.T913 + 0.162511 * tfactors.T9 + -0.0279619 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.91084 * tfactors.T923i + 0.162511 + (5.0/3.0) * -0.0279619 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25318,7 +29001,7 @@ void rate_n_Mn52_to_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn52_to_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + p --> Fe53 @@ -25333,9 +29016,13 @@ void rate_p_Mn52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.4319 + -36.187 * tfactors.T913i + 1.79171 * tfactors.T913 + -1.77786 * tfactors.T9 + 0.179936 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.187 * tfactors.T943i + (1.0/3.0) * 1.79171 * tfactors.T923i + -1.77786 + (5.0/3.0) * 0.179936 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25350,7 +29037,7 @@ void rate_p_Mn52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn52_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn52_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + He4 --> Co56 @@ -25365,9 +29052,13 @@ void rate_He4_Mn52_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.5657 + -89.3157 * tfactors.T913i + -1.95982 * tfactors.T913 + -2.45671 * tfactors.T9 + 0.296095 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.3157 * tfactors.T943i + (1.0/3.0) * -1.95982 * tfactors.T923i + -2.45671 + (5.0/3.0) * 0.296095 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25382,7 +29073,7 @@ void rate_He4_Mn52_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn53_to_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + n --> Mn54 @@ -25397,9 +29088,13 @@ void rate_n_Mn53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.3501 + -1.70171 * tfactors.T913 + 0.386422 * tfactors.T9 + -0.0536858 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.70171 * tfactors.T923i + 0.386422 + (5.0/3.0) * -0.0536858 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25414,7 +29109,7 @@ void rate_n_Mn53_to_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn53_to_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + p --> Fe54 @@ -25429,9 +29124,13 @@ void rate_p_Mn53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.586 + -36.1913 * tfactors.T913i + 1.44056 * tfactors.T913 + -1.50734 * tfactors.T9 + 0.142124 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1913 * tfactors.T943i + (1.0/3.0) * 1.44056 * tfactors.T923i + -1.50734 + (5.0/3.0) * 0.142124 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25446,7 +29145,7 @@ void rate_p_Mn53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn53_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn53_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + He4 --> Co57 @@ -25461,9 +29160,13 @@ void rate_He4_Mn53_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0252 + -89.3558 * tfactors.T913i + 0.000882861 * tfactors.T913 + -2.79327 * tfactors.T9 + 0.309057 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.3558 * tfactors.T943i + (1.0/3.0) * 0.000882861 * tfactors.T923i + -2.79327 + (5.0/3.0) * 0.309057 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25478,7 +29181,7 @@ void rate_He4_Mn53_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn54_to_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + n --> Mn55 @@ -25493,9 +29196,13 @@ void rate_n_Mn54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.4705 + -2.56572 * tfactors.T913 + 0.352447 * tfactors.T9 + -0.0375878 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.56572 * tfactors.T923i + 0.352447 + (5.0/3.0) * -0.0375878 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25510,7 +29217,7 @@ void rate_n_Mn54_to_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn54_to_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + p --> Fe55 @@ -25525,9 +29232,13 @@ void rate_p_Mn54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.55 + -36.1955 * tfactors.T913i + 1.08481 * tfactors.T913 + -1.46703 * tfactors.T9 + 0.13789 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1955 * tfactors.T943i + (1.0/3.0) * 1.08481 * tfactors.T923i + -1.46703 + (5.0/3.0) * 0.13789 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25542,7 +29253,7 @@ void rate_p_Mn54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn54_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn54_to_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + He4 --> Co58 @@ -25557,9 +29268,13 @@ void rate_He4_Mn54_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 67.6083 + -89.3946 * tfactors.T913i + -8.26476 * tfactors.T913 + -0.766622 * tfactors.T9 + 0.135181 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.3946 * tfactors.T943i + (1.0/3.0) * -8.26476 * tfactors.T923i + -0.766622 + (5.0/3.0) * 0.135181 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25574,7 +29289,7 @@ void rate_He4_Mn54_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + p --> Fe56 @@ -25589,9 +29304,13 @@ void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: 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; + ln_set_rate += log_scor; + 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; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25606,7 +29325,7 @@ void rate_p_Mn55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn55_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn55_to_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + He4 --> Co59 @@ -25621,9 +29340,13 @@ void rate_He4_Mn55_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.0838 + -89.432 * tfactors.T913i + 5.33428 * tfactors.T913 + -5.11461 * tfactors.T9 + 0.613808 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.432 * tfactors.T943i + (1.0/3.0) * 5.33428 * tfactors.T923i + -5.11461 + (5.0/3.0) * 0.613808 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25638,7 +29361,7 @@ void rate_He4_Mn55_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> Fe53 @@ -25653,9 +29376,13 @@ void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.8885 + -0.344319 * tfactors.T913 + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.344319 * tfactors.T923i + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25670,7 +29397,7 @@ void rate_n_Fe52_to_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe52_to_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe52_to_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + p --> Co53 @@ -25685,9 +29412,13 @@ void rate_p_Fe52_to_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 39.2879 + -37.1457 * tfactors.T913i + -5.67417 * tfactors.T913 + -0.559644 * tfactors.T9 + 0.102768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1457 * tfactors.T943i + (1.0/3.0) * -5.67417 * tfactors.T923i + -0.559644 + (5.0/3.0) * 0.102768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25702,7 +29433,7 @@ void rate_p_Fe52_to_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> Ni56 @@ -25717,9 +29448,13 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25734,7 +29469,7 @@ void rate_He4_Fe52_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> Fe54 @@ -25749,9 +29484,13 @@ void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.4534 + -1.10421 * tfactors.T913 + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.10421 * tfactors.T923i + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25766,7 +29505,7 @@ void rate_n_Fe53_to_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe53_to_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + p --> Co54 @@ -25781,9 +29520,13 @@ void rate_p_Fe53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8739 + -37.1501 * tfactors.T913i + 0.211459 * tfactors.T913 + -2.79493 * tfactors.T9 + 0.358657 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1501 * tfactors.T943i + (1.0/3.0) * 0.211459 * tfactors.T923i + -2.79493 + (5.0/3.0) * 0.358657 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25798,7 +29541,7 @@ void rate_p_Fe53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + He4 --> Ni57 @@ -25813,9 +29556,13 @@ void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 69.0636 + -91.7231 * tfactors.T913i + -10.1816 * tfactors.T913 + -0.0406303 * tfactors.T9 + 0.0345056 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * -10.1816 * tfactors.T923i + -0.0406303 + (5.0/3.0) * 0.0345056 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25830,7 +29577,7 @@ void rate_He4_Fe53_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> Fe55 @@ -25845,9 +29592,13 @@ void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -0.80864 + 0.0591716 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -9.78317 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0591716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -9.78317 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25862,7 +29613,7 @@ void rate_n_Fe54_to_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p --> Co55 @@ -25877,9 +29628,13 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2304 + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25894,7 +29649,7 @@ void rate_p_Fe54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> Ni58 @@ -25909,9 +29664,13 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.2478 + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25926,7 +29685,7 @@ void rate_He4_Fe54_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> Fe56 @@ -25941,9 +29700,13 @@ void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7202 + -0.0955677 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 6.47093 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0955677 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 6.47093 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25958,7 +29721,7 @@ void rate_n_Fe55_to_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + p --> Co56 @@ -25973,9 +29736,13 @@ void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.7333 + -37.1585 * tfactors.T913i + 1.66198 * tfactors.T913 + -1.60842 * tfactors.T9 + 0.148916 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1585 * tfactors.T943i + (1.0/3.0) * 1.66198 * tfactors.T923i + -1.60842 + (5.0/3.0) * 0.148916 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -25990,7 +29757,7 @@ void rate_p_Fe55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe55_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe55_to_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + He4 --> Ni59 @@ -26005,9 +29772,13 @@ void rate_He4_Fe55_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.7732 + -91.8012 * tfactors.T913i + 4.12067 * tfactors.T913 + -4.13271 * tfactors.T9 + 0.450006 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.8012 * tfactors.T943i + (1.0/3.0) * 4.12067 * tfactors.T923i + -4.13271 + (5.0/3.0) * 0.450006 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26022,7 +29793,7 @@ void rate_He4_Fe55_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe56_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe56_to_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + n --> Fe57 @@ -26037,9 +29808,13 @@ void rate_n_Fe56_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.834 + -0.0600873 * tfactors.T9i + 9.79414 * tfactors.T913i + -33.7366 * tfactors.T913 + 2.97173 * tfactors.T9 + -0.236498 * tfactors.T953 + 11.8711 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0600873 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.79414 * tfactors.T943i + (1.0/3.0) * -33.7366 * tfactors.T923i + 2.97173 + (5.0/3.0) * -0.236498 * tfactors.T923 + 11.8711 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26054,7 +29829,7 @@ void rate_n_Fe56_to_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p --> Co57 @@ -26069,9 +29844,13 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0665 + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26086,7 +29865,7 @@ void rate_p_Fe56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe56_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe56_to_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + He4 --> Ni60 @@ -26101,9 +29880,13 @@ void rate_He4_Fe56_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 60.6673 + -91.8383 * tfactors.T913i + 3.63237 * tfactors.T913 + -2.73367 * tfactors.T9 + 0.179684 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.8383 * tfactors.T943i + (1.0/3.0) * 3.63237 * tfactors.T923i + -2.73367 + (5.0/3.0) * 0.179684 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26118,7 +29901,7 @@ void rate_He4_Fe56_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe57_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe57_to_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + n --> Fe58 @@ -26133,9 +29916,13 @@ void rate_n_Fe57_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 20.2493 + -0.0214497 * tfactors.T9i + 2.1643 * tfactors.T913i + -7.49584 * tfactors.T913 + 0.656354 * tfactors.T9 + -0.0549855 * tfactors.T953 + 2.38149 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0214497 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.1643 * tfactors.T943i + (1.0/3.0) * -7.49584 * tfactors.T923i + 0.656354 + (5.0/3.0) * -0.0549855 * tfactors.T923 + 2.38149 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26150,7 +29937,7 @@ void rate_n_Fe57_to_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe57_to_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + p --> Co58 @@ -26165,9 +29952,13 @@ void rate_p_Fe57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.269 + -37.1663 * tfactors.T913i + 3.48503 * tfactors.T913 + -2.56204 * tfactors.T9 + 0.272972 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1663 * tfactors.T943i + (1.0/3.0) * 3.48503 * tfactors.T923i + -2.56204 + (5.0/3.0) * 0.272972 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26182,7 +29973,7 @@ void rate_p_Fe57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe57_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe57_to_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + He4 --> Ni61 @@ -26197,9 +29988,13 @@ void rate_He4_Fe57_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.184 + -91.8742 * tfactors.T913i + -4.07595 * tfactors.T913 + -1.93027 * tfactors.T9 + 0.240619 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.8742 * tfactors.T943i + (1.0/3.0) * -4.07595 * tfactors.T923i + -1.93027 + (5.0/3.0) * 0.240619 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26214,7 +30009,7 @@ void rate_He4_Fe57_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe58_to_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 + p --> Co59 @@ -26229,9 +30024,13 @@ void rate_p_Fe58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.2182 + -37.17 * tfactors.T913i + 1.63285 * tfactors.T913 + -1.16636 * tfactors.T9 + 0.0508619 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.17 * tfactors.T943i + (1.0/3.0) * 1.63285 * tfactors.T923i + -1.16636 + (5.0/3.0) * 0.0508619 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26246,7 +30045,7 @@ void rate_p_Fe58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe58_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe58_to_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 + He4 --> Ni62 @@ -26261,9 +30060,13 @@ void rate_He4_Fe58_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 59.393 + -91.9089 * tfactors.T913i + 8.18581 * tfactors.T913 + -6.00824 * tfactors.T9 + 0.693434 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.9089 * tfactors.T943i + (1.0/3.0) * 8.18581 * tfactors.T923i + -6.00824 + (5.0/3.0) * 0.693434 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26278,7 +30081,7 @@ void rate_He4_Fe58_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co53_to_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 + n --> Co54 @@ -26293,9 +30096,13 @@ void rate_n_Co53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.2037 + -1.14795 * tfactors.T913 + 0.413083 * tfactors.T9 + -0.0515627 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.14795 * tfactors.T923i + 0.413083 + (5.0/3.0) * -0.0515627 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26310,7 +30117,7 @@ void rate_n_Co53_to_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co53_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co53_to_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 + He4 --> Cu57 @@ -26325,9 +30132,13 @@ void rate_He4_Co53_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 56.9319 + -94.0605 * tfactors.T913i + -2.61232 * tfactors.T913 + -0.4397 * tfactors.T9 + -0.00420698 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.0605 * tfactors.T943i + (1.0/3.0) * -2.61232 * tfactors.T923i + -0.4397 + (5.0/3.0) * -0.00420698 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26342,7 +30153,7 @@ void rate_He4_Co53_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co54_to_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + n --> Co55 @@ -26357,9 +30168,13 @@ void rate_n_Co54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.3761 + 0.433187 * tfactors.T913 + 0.0888642 * tfactors.T9 + -0.0315521 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.433187 * tfactors.T923i + 0.0888642 + (5.0/3.0) * -0.0315521 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26374,7 +30189,7 @@ void rate_n_Co54_to_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co54_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co54_to_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + He4 --> Cu58 @@ -26389,9 +30204,13 @@ void rate_He4_Co54_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 55.6899 + -94.1012 * tfactors.T913i + 7.09095 * tfactors.T913 + -5.85934 * tfactors.T9 + 0.728369 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1012 * tfactors.T943i + (1.0/3.0) * 7.09095 * tfactors.T923i + -5.85934 + (5.0/3.0) * 0.728369 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26406,7 +30225,7 @@ void rate_He4_Co54_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> Co56 @@ -26421,9 +30240,13 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.065 + -1.86357 * tfactors.T913 + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.86357 * tfactors.T923i + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26438,7 +30261,7 @@ void rate_n_Co55_to_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> Ni56 @@ -26453,9 +30276,13 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26470,7 +30297,7 @@ void rate_p_Co55_to_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> Cu59 @@ -26485,9 +30312,13 @@ void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.2921 + -94.1404 * tfactors.T913i + -2.62786 * tfactors.T913 + -2.12066 * tfactors.T9 + 0.237999 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * -2.62786 * tfactors.T923i + -2.12066 + (5.0/3.0) * 0.237999 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26502,7 +30333,7 @@ void rate_He4_Co55_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> Co57 @@ -26517,9 +30348,13 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.3552 + -1.37855 * tfactors.T913 + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.37855 * tfactors.T923i + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26534,7 +30369,7 @@ void rate_n_Co56_to_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + p --> Ni57 @@ -26549,9 +30384,13 @@ void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.5937 + -38.1094 * tfactors.T913i + 2.57091 * tfactors.T913 + -2.07795 * tfactors.T9 + 0.20757 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1094 * tfactors.T943i + (1.0/3.0) * 2.57091 * tfactors.T923i + -2.07795 + (5.0/3.0) * 0.20757 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26566,7 +30405,7 @@ void rate_p_Co56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co56_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co56_to_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + He4 --> Cu60 @@ -26581,9 +30420,13 @@ void rate_He4_Co56_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 65.4774 + -94.1784 * tfactors.T913i + -1.94118 * tfactors.T913 + -2.35306 * tfactors.T9 + 0.265186 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1784 * tfactors.T943i + (1.0/3.0) * -1.94118 * tfactors.T923i + -2.35306 + (5.0/3.0) * 0.265186 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26598,7 +30441,7 @@ void rate_He4_Co56_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co57_to_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + n --> Co58 @@ -26613,9 +30456,13 @@ void rate_n_Co57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.9961 + -1.03654 * tfactors.T913 + 0.342218 * tfactors.T9 + -0.0638367 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.03654 * tfactors.T923i + 0.342218 + (5.0/3.0) * -0.0638367 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26630,7 +30477,7 @@ void rate_n_Co57_to_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> Ni58 @@ -26645,9 +30492,13 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0159 + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26662,7 +30513,7 @@ void rate_p_Co57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co57_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co57_to_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + He4 --> Cu61 @@ -26677,9 +30528,13 @@ void rate_He4_Co57_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.6068 + -94.2152 * tfactors.T913i + 0.976269 * tfactors.T913 + -2.37283 * tfactors.T9 + 0.195501 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.2152 * tfactors.T943i + (1.0/3.0) * 0.976269 * tfactors.T923i + -2.37283 + (5.0/3.0) * 0.195501 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26694,7 +30549,7 @@ void rate_He4_Co57_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co58_to_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + n --> Co59 @@ -26709,9 +30564,13 @@ void rate_n_Co58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.1906 + -2.18418 * tfactors.T913 + 0.328629 * tfactors.T9 + -0.0407234 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.18418 * tfactors.T923i + 0.328629 + (5.0/3.0) * -0.0407234 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26726,7 +30585,7 @@ void rate_n_Co58_to_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co58_to_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + p --> Ni59 @@ -26741,9 +30600,13 @@ void rate_p_Co58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.1058 + -38.1171 * tfactors.T913i + 1.68645 * tfactors.T913 + -1.51404 * tfactors.T9 + 0.126766 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1171 * tfactors.T943i + (1.0/3.0) * 1.68645 * tfactors.T923i + -1.51404 + (5.0/3.0) * 0.126766 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26758,7 +30621,7 @@ void rate_p_Co58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co58_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co58_to_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + He4 --> Cu62 @@ -26773,9 +30636,13 @@ void rate_He4_Co58_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.7079 + -94.2508 * tfactors.T913i + 1.47146 * tfactors.T913 + -2.87996 * tfactors.T9 + 0.26554 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.2508 * tfactors.T943i + (1.0/3.0) * 1.47146 * tfactors.T923i + -2.87996 + (5.0/3.0) * 0.26554 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26790,7 +30657,7 @@ void rate_He4_Co58_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co59_to_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + p --> Ni60 @@ -26805,9 +30672,13 @@ void rate_p_Co59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.957 + -38.1208 * tfactors.T913i + 2.42609 * tfactors.T913 + -1.5885 * tfactors.T9 + 0.110313 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1208 * tfactors.T943i + (1.0/3.0) * 2.42609 * tfactors.T923i + -1.5885 + (5.0/3.0) * 0.110313 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26822,7 +30693,7 @@ void rate_p_Co59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co59_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co59_to_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + He4 --> Cu63 @@ -26837,9 +30708,13 @@ void rate_He4_Co59_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.425 + -94.2852 * tfactors.T913i + 1.64751 * tfactors.T913 + -2.1637 * tfactors.T9 + 0.119598 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.2852 * tfactors.T943i + (1.0/3.0) * 1.64751 * tfactors.T923i + -2.1637 + (5.0/3.0) * 0.119598 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26854,7 +30729,7 @@ void rate_He4_Co59_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> Ni57 @@ -26869,9 +30744,13 @@ void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.0765 + -1.19665 * tfactors.T913 + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.19665 * tfactors.T923i + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26886,7 +30765,7 @@ void rate_n_Ni56_to_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + p --> Cu57 @@ -26901,9 +30780,13 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -3.60454 + -4.77 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.77 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26918,9 +30801,13 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -12.8639 + -3.86 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.86 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26935,9 +30822,13 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.5163 + -39.3 * tfactors.T913i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.3 * tfactors.T943i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26952,9 +30843,13 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.46379 + -21.2 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.2 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26969,9 +30864,13 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.63941 + -19.8 * tfactors.T9i + -0.0409988 * tfactors.T913 + 0.0619696 * tfactors.T9 + -0.0172498 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.8 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0409988 * tfactors.T923i + 0.0619696 + (5.0/3.0) * -0.0172498 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -26986,7 +30885,7 @@ void rate_p_Ni56_to_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + He4 --> Zn60 @@ -27001,9 +30900,13 @@ void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.0733 + -96.4898 * tfactors.T913i + 6.47209 * tfactors.T913 + -5.2029 * tfactors.T9 + 0.533391 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.4898 * tfactors.T943i + (1.0/3.0) * 6.47209 * tfactors.T923i + -5.2029 + (5.0/3.0) * 0.533391 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27018,7 +30921,7 @@ void rate_He4_Ni56_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> Ni58 @@ -27033,9 +30936,13 @@ void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.2731 + -1.90814 * tfactors.T913 + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.90814 * tfactors.T923i + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27050,7 +30957,7 @@ void rate_n_Ni57_to_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni57_to_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + p --> Cu58 @@ -27065,9 +30972,13 @@ void rate_p_Ni57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.7262 + -39.0487 * tfactors.T913i + -0.339241 * tfactors.T913 + -2.87307 * tfactors.T9 + 0.382369 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0487 * tfactors.T943i + (1.0/3.0) * -0.339241 * tfactors.T923i + -2.87307 + (5.0/3.0) * 0.382369 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27082,7 +30993,7 @@ void rate_p_Ni57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni57_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni57_to_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + He4 --> Zn61 @@ -27097,9 +31008,13 @@ void rate_He4_Ni57_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.4873 + -96.5275 * tfactors.T913i + 5.42001 * tfactors.T913 + -3.93988 * tfactors.T9 + 0.358068 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.5275 * tfactors.T943i + (1.0/3.0) * 5.42001 * tfactors.T923i + -3.93988 + (5.0/3.0) * 0.358068 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27114,7 +31029,7 @@ void rate_He4_Ni57_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni58_to_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + n --> Ni59 @@ -27129,9 +31044,13 @@ void rate_n_Ni58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.63197 + 0.13279 * tfactors.T9i + -11.785 * tfactors.T913i + 19.5347 * tfactors.T913 + -0.857179 * tfactors.T9 + 0.00111653 * tfactors.T953 + -9.35642 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.13279 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.785 * tfactors.T943i + (1.0/3.0) * 19.5347 * tfactors.T923i + -0.857179 + (5.0/3.0) * 0.00111653 * tfactors.T923 + -9.35642 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27146,7 +31065,7 @@ void rate_n_Ni58_to_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + p --> Cu59 @@ -27161,9 +31080,13 @@ void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.6662 + -39.0526 * tfactors.T913i + 1.0436 * tfactors.T913 + -2.10834 * tfactors.T9 + 0.239559 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0526 * tfactors.T943i + (1.0/3.0) * 1.0436 * tfactors.T923i + -2.10834 + (5.0/3.0) * 0.239559 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27178,7 +31101,7 @@ void rate_p_Ni58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni58_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni58_to_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + He4 --> Zn62 @@ -27193,9 +31116,13 @@ void rate_He4_Ni58_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.8584 + -96.5638 * tfactors.T913i + 2.81593 * tfactors.T913 + -2.43398 * tfactors.T9 + 0.140051 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.5638 * tfactors.T943i + (1.0/3.0) * 2.81593 * tfactors.T923i + -2.43398 + (5.0/3.0) * 0.140051 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27210,7 +31137,7 @@ void rate_He4_Ni58_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni59_to_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + n --> Ni60 @@ -27225,9 +31152,13 @@ void rate_n_Ni59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 25.5762 + -0.110079 * tfactors.T9i + 9.92411 * tfactors.T913i + -20.503 * tfactors.T913 + 1.39981 * tfactors.T9 + -0.101641 * tfactors.T953 + 8.58204 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.110079 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.92411 * tfactors.T943i + (1.0/3.0) * -20.503 * tfactors.T923i + 1.39981 + (5.0/3.0) * -0.101641 * tfactors.T923 + 8.58204 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27242,7 +31173,7 @@ void rate_n_Ni59_to_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni59_to_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + p --> Cu60 @@ -27257,9 +31188,13 @@ void rate_p_Ni59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0485 + -39.0563 * tfactors.T913i + 2.1481 * tfactors.T913 + -1.76507 * tfactors.T9 + 0.1629 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0563 * tfactors.T943i + (1.0/3.0) * 2.1481 * tfactors.T923i + -1.76507 + (5.0/3.0) * 0.1629 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27274,7 +31209,7 @@ void rate_p_Ni59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni59_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni59_to_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + He4 --> Zn63 @@ -27289,9 +31224,13 @@ void rate_He4_Ni59_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.0533 + -96.5991 * tfactors.T913i + 2.66136 * tfactors.T913 + -2.36841 * tfactors.T9 + 0.148474 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.5991 * tfactors.T943i + (1.0/3.0) * 2.66136 * tfactors.T923i + -2.36841 + (5.0/3.0) * 0.148474 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27306,7 +31245,7 @@ void rate_He4_Ni59_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni60_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni60_to_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + n --> Ni61 @@ -27321,9 +31260,13 @@ void rate_n_Ni60_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.59123 + 0.0884361 * tfactors.T9i + -9.46323 * tfactors.T913i + 19.9252 * tfactors.T913 + -0.985724 * tfactors.T9 + 0.0164222 * tfactors.T953 + -8.75824 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0884361 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -9.46323 * tfactors.T943i + (1.0/3.0) * 19.9252 * tfactors.T923i + -0.985724 + (5.0/3.0) * 0.0164222 * tfactors.T923 + -8.75824 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27338,7 +31281,7 @@ void rate_n_Ni60_to_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni60_to_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + p --> Cu61 @@ -27353,9 +31296,13 @@ void rate_p_Ni60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.9916 + -39.06 * tfactors.T913i + 1.28239 * tfactors.T913 + -1.76356 * tfactors.T9 + 0.18327 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.06 * tfactors.T943i + (1.0/3.0) * 1.28239 * tfactors.T923i + -1.76356 + (5.0/3.0) * 0.18327 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27370,7 +31317,7 @@ void rate_p_Ni60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni60_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni60_to_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + He4 --> Zn64 @@ -27385,9 +31332,13 @@ void rate_He4_Ni60_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.093 + -96.6332 * tfactors.T913i + 1.06508 * tfactors.T913 + -1.52905 * tfactors.T9 + 0.0316173 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.6332 * tfactors.T943i + (1.0/3.0) * 1.06508 * tfactors.T923i + -1.52905 + (5.0/3.0) * 0.0316173 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27402,7 +31353,7 @@ void rate_He4_Ni60_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni61_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni61_to_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + n --> Ni62 @@ -27417,9 +31368,13 @@ void rate_n_Ni61_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.7403 + 0.0180561 * tfactors.T9i + -2.82482 * tfactors.T913i + 7.69552 * tfactors.T913 + -0.605244 * tfactors.T9 + 0.0243914 * tfactors.T953 + -3.12147 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0180561 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.82482 * tfactors.T943i + (1.0/3.0) * 7.69552 * tfactors.T923i + -0.605244 + (5.0/3.0) * 0.0243914 * tfactors.T923 + -3.12147 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27434,7 +31389,7 @@ void rate_n_Ni61_to_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni61_to_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + p --> Cu62 @@ -27449,9 +31404,13 @@ void rate_p_Ni61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.065 + -39.0635 * tfactors.T913i + 2.03251 * tfactors.T913 + -1.66085 * tfactors.T9 + 0.123527 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0635 * tfactors.T943i + (1.0/3.0) * 2.03251 * tfactors.T923i + -1.66085 + (5.0/3.0) * 0.123527 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27466,7 +31425,7 @@ void rate_p_Ni61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni61_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni61_to_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + He4 --> Zn65 @@ -27481,9 +31440,13 @@ void rate_He4_Ni61_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 63.8838 + -96.6663 * tfactors.T913i + 2.54794 * tfactors.T913 + -2.65791 * tfactors.T9 + 0.204247 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.6663 * tfactors.T943i + (1.0/3.0) * 2.54794 * tfactors.T923i + -2.65791 + (5.0/3.0) * 0.204247 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27498,7 +31461,7 @@ void rate_He4_Ni61_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni62_to_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni62_to_Ni63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + n --> Ni63 @@ -27513,9 +31476,13 @@ void rate_n_Ni62_to_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.77316 + -0.0229255 * tfactors.T9i + -1.2799 * tfactors.T913i + 10.7874 * tfactors.T913 + -0.552819 * tfactors.T9 + -0.0106439 * tfactors.T953 + -3.53486 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0229255 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.2799 * tfactors.T943i + (1.0/3.0) * 10.7874 * tfactors.T923i + -0.552819 + (5.0/3.0) * -0.0106439 * tfactors.T923 + -3.53486 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27530,7 +31497,7 @@ void rate_n_Ni62_to_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni62_to_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + p --> Cu63 @@ -27545,9 +31512,13 @@ void rate_p_Ni62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.5377 + -39.0669 * tfactors.T913i + 1.33156 * tfactors.T913 + -1.30043 * tfactors.T9 + 0.0961101 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0669 * tfactors.T943i + (1.0/3.0) * 1.33156 * tfactors.T923i + -1.30043 + (5.0/3.0) * 0.0961101 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27562,7 +31533,7 @@ void rate_p_Ni62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni62_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni62_to_Zn66_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + He4 --> Zn66 @@ -27577,9 +31548,13 @@ void rate_He4_Ni62_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.6647 + -96.6983 * tfactors.T913i + 0.80536 * tfactors.T913 + -1.39385 * tfactors.T9 + 0.000644409 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -96.6983 * tfactors.T943i + (1.0/3.0) * 0.80536 * tfactors.T923i + -1.39385 + (5.0/3.0) * 0.000644409 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27594,7 +31569,7 @@ void rate_He4_Ni62_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni63_to_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni63_to_Ni64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni63 + n --> Ni64 @@ -27609,9 +31584,13 @@ void rate_n_Ni63_to_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 29.5272 + -0.0604252 * tfactors.T9i + 7.01558 * tfactors.T913i + -23.8529 * tfactors.T913 + 2.50513 * tfactors.T9 + -0.227209 * tfactors.T953 + 7.65703 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0604252 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.01558 * tfactors.T943i + (1.0/3.0) * -23.8529 * tfactors.T923i + 2.50513 + (5.0/3.0) * -0.227209 * tfactors.T923 + 7.65703 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27626,7 +31605,7 @@ void rate_n_Ni63_to_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni63_to_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni63 + p --> Cu64 @@ -27641,9 +31620,13 @@ void rate_p_Ni63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 40.2954 + -39.0703 * tfactors.T913i + -4.4238 * tfactors.T913 + -0.152239 * tfactors.T9 + 0.0171937 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0703 * tfactors.T943i + (1.0/3.0) * -4.4238 * tfactors.T923i + -0.152239 + (5.0/3.0) * 0.0171937 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27658,7 +31641,7 @@ void rate_p_Ni63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni64_to_Cu65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni64 + p --> Cu65 @@ -27673,9 +31656,13 @@ void rate_p_Ni64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.6675 + -39.0735 * tfactors.T913i + 1.76823 * tfactors.T913 + -1.38855 * tfactors.T9 + 0.0515179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0735 * tfactors.T943i + (1.0/3.0) * 1.76823 * tfactors.T923i + -1.38855 + (5.0/3.0) * 0.0515179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27690,7 +31677,7 @@ void rate_p_Ni64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu57_to_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 + n --> Cu58 @@ -27705,9 +31692,13 @@ void rate_n_Cu57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 10.7707 + -0.954817 * tfactors.T913 + 0.394641 * tfactors.T9 + -0.0489206 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.954817 * tfactors.T923i + 0.394641 + (5.0/3.0) * -0.0489206 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27722,7 +31713,7 @@ void rate_n_Cu57_to_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu58_to_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + n --> Cu59 @@ -27737,9 +31728,13 @@ void rate_n_Cu58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.7859 + -0.307504 * tfactors.T913 + 0.342948 * tfactors.T9 + -0.0507762 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.307504 * tfactors.T923i + 0.342948 + (5.0/3.0) * -0.0507762 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27754,7 +31749,7 @@ void rate_n_Cu58_to_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + p --> Zn59 @@ -27769,9 +31764,13 @@ void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -6.80287 + 1.08057 * tfactors.T9i + -142.882 * tfactors.T913i + 138.901 * tfactors.T913 + -5.7482 * tfactors.T9 + 0.223571 * tfactors.T953 + -84.6553 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -1.08057 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -142.882 * tfactors.T943i + (1.0/3.0) * 138.901 * tfactors.T923i + -5.7482 + (5.0/3.0) * 0.223571 * tfactors.T923 + -84.6553 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27786,9 +31785,13 @@ void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.1417 + -0.0837118 * tfactors.T9i + -36.2109 * tfactors.T913i + -10.0201 * tfactors.T913 + 0.882265 * tfactors.T9 + -0.0954725 * tfactors.T953 + 3.28794 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0837118 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2109 * tfactors.T943i + (1.0/3.0) * -10.0201 * tfactors.T923i + 0.882265 + (5.0/3.0) * -0.0954725 * tfactors.T923 + 3.28794 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27803,9 +31806,13 @@ void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.9479 + 2.4317 * tfactors.T9i + -209.408 * tfactors.T913i + 176.007 * tfactors.T913 + -6.98867 * tfactors.T9 + 0.295678 * tfactors.T953 + -110.548 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -2.4317 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -209.408 * tfactors.T943i + (1.0/3.0) * 176.007 * tfactors.T923i + -6.98867 + (5.0/3.0) * 0.295678 * tfactors.T923 + -110.548 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27820,7 +31827,7 @@ void rate_p_Cu58_to_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu58_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu58_to_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + He4 --> Ga62 @@ -27835,9 +31842,13 @@ void rate_He4_Cu58_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 77.8609 + -98.8498 * tfactors.T913i + -21.411 * tfactors.T913 + 1.84489 * tfactors.T9 + -0.142549 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -98.8498 * tfactors.T943i + (1.0/3.0) * -21.411 * tfactors.T923i + 1.84489 + (5.0/3.0) * -0.142549 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27852,7 +31863,7 @@ void rate_He4_Cu58_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu59_to_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + n --> Cu60 @@ -27867,9 +31878,13 @@ void rate_n_Cu59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.7349 + -0.952104 * tfactors.T913 + 0.520444 * tfactors.T9 + -0.0746175 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.952104 * tfactors.T923i + 0.520444 + (5.0/3.0) * -0.0746175 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27884,7 +31899,7 @@ void rate_n_Cu59_to_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + p --> Zn60 @@ -27899,9 +31914,13 @@ void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.226 + -39.9808 * tfactors.T913i + 1.17311 * tfactors.T913 + -2.90486 * tfactors.T9 + 0.339644 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 1.17311 * tfactors.T923i + -2.90486 + (5.0/3.0) * 0.339644 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27916,7 +31935,7 @@ void rate_p_Cu59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu59_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu59_to_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + He4 --> Ga63 @@ -27931,9 +31950,13 @@ void rate_He4_Cu59_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 68.0149 + -98.8858 * tfactors.T913i + -2.92113 * tfactors.T913 + -2.38226 * tfactors.T9 + 0.272994 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -98.8858 * tfactors.T943i + (1.0/3.0) * -2.92113 * tfactors.T923i + -2.38226 + (5.0/3.0) * 0.272994 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27948,7 +31971,7 @@ void rate_He4_Cu59_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu60_to_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + n --> Cu61 @@ -27963,9 +31986,13 @@ void rate_n_Cu60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 15.3449 + -0.586034 * tfactors.T913 + 0.320768 * tfactors.T9 + -0.0484658 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.586034 * tfactors.T923i + 0.320768 + (5.0/3.0) * -0.0484658 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -27980,7 +32007,7 @@ void rate_n_Cu60_to_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu60_to_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + p --> Zn61 @@ -27995,9 +32022,13 @@ void rate_p_Cu60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.0101 + -39.9846 * tfactors.T913i + 3.2392 * tfactors.T913 + -2.37211 * tfactors.T9 + 0.239391 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9846 * tfactors.T943i + (1.0/3.0) * 3.2392 * tfactors.T923i + -2.37211 + (5.0/3.0) * 0.239391 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28012,7 +32043,7 @@ void rate_p_Cu60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu60_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu60_to_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + He4 --> Ga64 @@ -28027,9 +32058,13 @@ void rate_He4_Cu60_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 66.2816 + -98.9207 * tfactors.T913i + 0.933671 * tfactors.T913 + -3.79958 * tfactors.T9 + 0.446216 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -98.9207 * tfactors.T943i + (1.0/3.0) * 0.933671 * tfactors.T923i + -3.79958 + (5.0/3.0) * 0.446216 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28044,7 +32079,7 @@ void rate_He4_Cu60_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu61_to_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + n --> Cu62 @@ -28059,9 +32094,13 @@ void rate_n_Cu61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.3662 + -0.404348 * tfactors.T913 + 0.218353 * tfactors.T9 + -0.0562018 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.404348 * tfactors.T923i + 0.218353 + (5.0/3.0) * -0.0562018 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28076,7 +32115,7 @@ void rate_n_Cu61_to_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu61_to_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + p --> Zn62 @@ -28091,9 +32130,13 @@ void rate_p_Cu61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.5695 + -39.9882 * tfactors.T913i + 2.26956 * tfactors.T913 + -1.69006 * tfactors.T9 + 0.132363 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9882 * tfactors.T943i + (1.0/3.0) * 2.26956 * tfactors.T923i + -1.69006 + (5.0/3.0) * 0.132363 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28108,7 +32151,7 @@ void rate_p_Cu61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu62_to_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + n --> Cu63 @@ -28123,9 +32166,13 @@ void rate_n_Cu62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.0073 + -0.723484 * tfactors.T913 + 0.215177 * tfactors.T9 + -0.0473749 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.723484 * tfactors.T923i + 0.215177 + (5.0/3.0) * -0.0473749 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28140,7 +32187,7 @@ void rate_n_Cu62_to_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu62_to_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + p --> Zn63 @@ -28155,9 +32202,13 @@ void rate_p_Cu62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.5491 + -39.9917 * tfactors.T913i + 2.6186 * tfactors.T913 + -1.69105 * tfactors.T9 + 0.132898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9917 * tfactors.T943i + (1.0/3.0) * 2.6186 * tfactors.T923i + -1.69105 + (5.0/3.0) * 0.132898 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28172,7 +32223,7 @@ void rate_p_Cu62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu63_to_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + n --> Cu64 @@ -28187,9 +32238,13 @@ void rate_n_Cu63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.4055 + -0.117212 * tfactors.T9i + 11.3982 * tfactors.T913i + -24.4222 * tfactors.T913 + 1.95364 * tfactors.T9 + -0.18693 * tfactors.T953 + 10.2458 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.117212 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 11.3982 * tfactors.T943i + (1.0/3.0) * -24.4222 * tfactors.T923i + 1.95364 + (5.0/3.0) * -0.18693 * tfactors.T923 + 10.2458 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28204,7 +32259,7 @@ void rate_n_Cu63_to_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu63_to_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + p --> Zn64 @@ -28219,9 +32274,13 @@ void rate_p_Cu63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.1256 + -39.995 * tfactors.T913i + 1.69705 * tfactors.T913 + -1.11391 * tfactors.T9 + 0.0416287 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.995 * tfactors.T943i + (1.0/3.0) * 1.69705 * tfactors.T923i + -1.11391 + (5.0/3.0) * 0.0416287 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28236,7 +32295,7 @@ void rate_p_Cu63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu64_to_Cu65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 + n --> Cu65 @@ -28251,9 +32310,13 @@ void rate_n_Cu64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.8488 + -2.31276 * tfactors.T913 + 0.434599 * tfactors.T9 + -0.0715678 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.31276 * tfactors.T923i + 0.434599 + (5.0/3.0) * -0.0715678 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28268,7 +32331,7 @@ void rate_n_Cu64_to_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu64_to_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 + p --> Zn65 @@ -28283,9 +32346,13 @@ void rate_p_Cu64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 38.9806 + -39.9983 * tfactors.T913i + -2.9846 * tfactors.T913 + 0.0709769 * tfactors.T9 + -0.0519569 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9983 * tfactors.T943i + (1.0/3.0) * -2.9846 * tfactors.T923i + 0.0709769 + (5.0/3.0) * -0.0519569 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28300,7 +32367,7 @@ void rate_p_Cu64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu65_to_Zn66_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu65 + p --> Zn66 @@ -28315,9 +32382,13 @@ void rate_p_Cu65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.8752 + -40.0015 * tfactors.T913i + 2.89473 * tfactors.T913 + -1.70171 * tfactors.T9 + 0.092664 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.0015 * tfactors.T943i + (1.0/3.0) * 2.89473 * tfactors.T923i + -1.70171 + (5.0/3.0) * 0.092664 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28332,7 +32403,7 @@ void rate_p_Cu65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn59_to_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 + n --> Zn60 @@ -28347,9 +32418,13 @@ void rate_n_Zn59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.74563 + 0.65324 * tfactors.T913 + -0.0259697 * tfactors.T9 + -0.00407906 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.65324 * tfactors.T923i + -0.0259697 + (5.0/3.0) * -0.00407906 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28364,7 +32439,7 @@ void rate_n_Zn59_to_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn59_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn59_to_Ge63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 + He4 --> Ge63 @@ -28379,9 +32454,13 @@ void rate_He4_Zn59_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 76.3883 + -101.146 * tfactors.T913i + -14.3723 * tfactors.T913 + 0.893059 * tfactors.T9 + -0.0564743 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -101.146 * tfactors.T943i + (1.0/3.0) * -14.3723 * tfactors.T923i + 0.893059 + (5.0/3.0) * -0.0564743 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28396,7 +32475,7 @@ void rate_He4_Zn59_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn60_to_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + n --> Zn61 @@ -28411,9 +32490,13 @@ void rate_n_Zn60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.4892 + 0.0559751 * tfactors.T913 + 0.208641 * tfactors.T9 + -0.0357451 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.0559751 * tfactors.T923i + 0.208641 + (5.0/3.0) * -0.0357451 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28428,7 +32511,7 @@ void rate_n_Zn60_to_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn60_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn60_to_Ge64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + He4 --> Ge64 @@ -28443,9 +32526,13 @@ void rate_He4_Zn60_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.1229 + -101.182 * tfactors.T913i + 10.4963 * tfactors.T913 + -7.04215 * tfactors.T9 + 0.732883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -101.182 * tfactors.T943i + (1.0/3.0) * 10.4963 * tfactors.T923i + -7.04215 + (5.0/3.0) * 0.732883 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28460,7 +32547,7 @@ void rate_He4_Zn60_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn61_to_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + n --> Zn62 @@ -28475,9 +32562,13 @@ void rate_n_Zn61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.7022 + 0.174908 * tfactors.T913 + 0.222207 * tfactors.T9 + -0.0495297 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.174908 * tfactors.T923i + 0.222207 + (5.0/3.0) * -0.0495297 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28492,7 +32583,7 @@ void rate_n_Zn61_to_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + p --> Ga62 @@ -28507,9 +32598,13 @@ void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11276.1 + -91.1775 * tfactors.T9i + 6932.15 * tfactors.T913i + -20433.4 * tfactors.T913 + 2726.25 * tfactors.T9 + -416.477 * tfactors.T953 + 7003.74 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.1775 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6932.15 * tfactors.T943i + (1.0/3.0) * -20433.4 * tfactors.T923i + 2726.25 + (5.0/3.0) * -416.477 * tfactors.T923 + 7003.74 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28524,9 +32619,13 @@ void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 35.5778 + -0.068885 * tfactors.T9i + -36.9213 * tfactors.T913i + -12.8434 * tfactors.T913 + 1.30735 * tfactors.T9 + -0.136745 * tfactors.T953 + 3.91008 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.068885 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.9213 * tfactors.T943i + (1.0/3.0) * -12.8434 * tfactors.T923i + 1.30735 + (5.0/3.0) * -0.136745 * tfactors.T923 + 3.91008 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28541,9 +32640,13 @@ void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -19.8777 + -14.8223 * tfactors.T9i + 207.487 * tfactors.T913i + -181.718 * tfactors.T913 + 5.86358 * tfactors.T9 + -0.221479 * tfactors.T953 + 119.805 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.8223 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 207.487 * tfactors.T943i + (1.0/3.0) * -181.718 * tfactors.T923i + 5.86358 + (5.0/3.0) * -0.221479 * tfactors.T923 + 119.805 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28558,7 +32661,7 @@ void rate_p_Zn61_to_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn62_to_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + n --> Zn63 @@ -28573,9 +32676,13 @@ void rate_n_Zn62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.4953 + -0.365196 * tfactors.T913 + 0.230327 * tfactors.T9 + -0.0605553 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.365196 * tfactors.T923i + 0.230327 + (5.0/3.0) * -0.0605553 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28590,7 +32697,7 @@ void rate_n_Zn62_to_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + p --> Ga63 @@ -28605,9 +32712,13 @@ void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.1867 + -0.194242 * tfactors.T9i + -31.4331 * tfactors.T913i + -19.7752 * tfactors.T913 + 1.69239 * tfactors.T9 + -0.16473 * tfactors.T953 + 7.6608 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.194242 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.4331 * tfactors.T943i + (1.0/3.0) * -19.7752 * tfactors.T923i + 1.69239 + (5.0/3.0) * -0.16473 * tfactors.T923 + 7.6608 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28622,9 +32733,13 @@ void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 7888.93 + -59.9484 * tfactors.T9i + 4643.34 * tfactors.T913i + -14105.9 * tfactors.T913 + 1925.65 * tfactors.T9 + -299.872 * tfactors.T953 + 4768.64 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.9484 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4643.34 * tfactors.T943i + (1.0/3.0) * -14105.9 * tfactors.T923i + 1925.65 + (5.0/3.0) * -299.872 * tfactors.T923 + 4768.64 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28639,9 +32754,13 @@ void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 47.3921 + -22.0155 * tfactors.T9i + 516.062 * tfactors.T913i + -567.538 * tfactors.T913 + 23.7454 * tfactors.T9 + -1.02526 * tfactors.T953 + 327.86 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.0155 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 516.062 * tfactors.T943i + (1.0/3.0) * -567.538 * tfactors.T923i + 23.7454 + (5.0/3.0) * -1.02526 * tfactors.T923 + 327.86 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28656,9 +32775,13 @@ void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -38.4285 + -21.8336 * tfactors.T9i + 181.058 * tfactors.T913i + -128.039 * tfactors.T913 + 5.3613 * tfactors.T9 + -0.329542 * tfactors.T953 + 87.4371 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.8336 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 181.058 * tfactors.T943i + (1.0/3.0) * -128.039 * tfactors.T923i + 5.3613 + (5.0/3.0) * -0.329542 * tfactors.T923 + 87.4371 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28673,7 +32796,7 @@ void rate_p_Zn62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn63_to_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + n --> Zn64 @@ -28688,9 +32811,13 @@ void rate_n_Zn63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 16.2538 + -0.526805 * tfactors.T913 + 0.294653 * tfactors.T9 + -0.0660418 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.526805 * tfactors.T923i + 0.294653 + (5.0/3.0) * -0.0660418 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28705,7 +32832,7 @@ void rate_n_Zn63_to_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn63_to_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + p --> Ga64 @@ -28720,9 +32847,13 @@ void rate_p_Zn63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 36.839 + -40.9093 * tfactors.T913i + 2.88162 * tfactors.T913 + -2.11741 * tfactors.T9 + 0.191601 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9093 * tfactors.T943i + (1.0/3.0) * 2.88162 * tfactors.T923i + -2.11741 + (5.0/3.0) * 0.191601 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28737,7 +32868,7 @@ void rate_p_Zn63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn64_to_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 + n --> Zn65 @@ -28752,9 +32883,13 @@ void rate_n_Zn64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.1015 + 0.0293385 * tfactors.T9i + -3.1973 * tfactors.T913i + 6.0545 * tfactors.T913 + 0.171155 * tfactors.T9 + -0.0905702 * tfactors.T953 + -2.89286 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0293385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.1973 * tfactors.T943i + (1.0/3.0) * 6.0545 * tfactors.T923i + 0.171155 + (5.0/3.0) * -0.0905702 * tfactors.T923 + -2.89286 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28769,7 +32904,7 @@ void rate_n_Zn64_to_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn65_to_Zn66_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 + n --> Zn66 @@ -28784,9 +32919,13 @@ void rate_n_Zn65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.6235 + -0.0461963 * tfactors.T9i + 5.38411 * tfactors.T913i + -18.0063 * tfactors.T913 + 1.89109 * tfactors.T9 + -0.191482 * tfactors.T953 + 5.84419 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0461963 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.38411 * tfactors.T943i + (1.0/3.0) * -18.0063 * tfactors.T923i + 1.89109 + (5.0/3.0) * -0.191482 * tfactors.T923 + 5.84419 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28801,7 +32940,7 @@ void rate_n_Zn65_to_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga62_to_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 + n --> Ga63 @@ -28816,9 +32955,13 @@ void rate_n_Ga62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.6851 + -0.413123 * tfactors.T913 + 0.505609 * tfactors.T9 + -0.0792987 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.413123 * tfactors.T923i + 0.505609 + (5.0/3.0) * -0.0792987 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28833,7 +32976,7 @@ void rate_n_Ga62_to_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 + p --> Ge63 @@ -28848,9 +32991,13 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 23.0628 + -1.09614 * tfactors.T9i + -107.856 * tfactors.T913i + 80.6244 * tfactors.T913 + -2.84514 * tfactors.T9 + 0.087641 * tfactors.T953 + -56.5078 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.09614 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -107.856 * tfactors.T943i + (1.0/3.0) * 80.6244 * tfactors.T923i + -2.84514 + (5.0/3.0) * 0.087641 * tfactors.T923 + -56.5078 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28865,9 +33012,13 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 268.37 + -0.169689 * tfactors.T9i + -8.15451 * tfactors.T913i + -301.681 * tfactors.T913 + 33.0147 * tfactors.T9 + -2.8672 * tfactors.T953 + 70.7354 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.169689 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.15451 * tfactors.T943i + (1.0/3.0) * -301.681 * tfactors.T923i + 33.0147 + (5.0/3.0) * -2.8672 * tfactors.T923 + 70.7354 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28882,9 +33033,13 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 29.8043 + 0.0615986 * tfactors.T9i + -45.5057 * tfactors.T913i + 1.9831 * tfactors.T913 + -0.147339 * tfactors.T9 + -0.0169469 * tfactors.T953 + -2.46033 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0615986 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.5057 * tfactors.T943i + (1.0/3.0) * 1.9831 * tfactors.T923i + -0.147339 + (5.0/3.0) * -0.0169469 * tfactors.T923 + -2.46033 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28899,9 +33054,13 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 9631.23 + -112.916 * tfactors.T9i + 6926.61 * tfactors.T913i + -18459.0 * tfactors.T913 + 2374.61 * tfactors.T9 + -366.508 * tfactors.T953 + 6586.96 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 112.916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 6926.61 * tfactors.T943i + (1.0/3.0) * -18459.0 * tfactors.T923i + 2374.61 + (5.0/3.0) * -366.508 * tfactors.T923 + 6586.96 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28916,9 +33075,13 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 53.7251 + -4.53179 * tfactors.T9i + 11.0703 * tfactors.T913i + -66.0297 * tfactors.T913 + 2.89115 * tfactors.T9 + -0.129107 * tfactors.T953 + 29.3214 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.53179 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 11.0703 * tfactors.T943i + (1.0/3.0) * -66.0297 * tfactors.T923i + 2.89115 + (5.0/3.0) * -0.129107 * tfactors.T923 + 29.3214 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28933,7 +33096,7 @@ void rate_p_Ga62_to_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga63_to_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + n --> Ga64 @@ -28948,9 +33111,13 @@ void rate_n_Ga63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.8071 + 1.0342 * tfactors.T913 + 0.0882306 * tfactors.T9 + -0.0437444 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.0342 * tfactors.T923i + 0.0882306 + (5.0/3.0) * -0.0437444 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28965,7 +33132,7 @@ void rate_n_Ga63_to_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga63_to_Ge64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + p --> Ge64 @@ -28980,9 +33147,13 @@ void rate_p_Ga63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 37.9791 + -41.8134 * tfactors.T913i + 1.45084 * tfactors.T913 + -3.1328 * tfactors.T9 + 0.353318 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -41.8134 * tfactors.T943i + (1.0/3.0) * 1.45084 * tfactors.T923i + -3.1328 + (5.0/3.0) * 0.353318 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -28997,7 +33168,7 @@ void rate_p_Ga63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ge63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ge63_to_Ge64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 + n --> Ge64 @@ -29012,9 +33183,13 @@ void rate_n_Ge63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 8.35941 + 0.20987 * tfactors.T913 + 0.182208 * tfactors.T9 + -0.0339886 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.20987 * tfactors.T923i + 0.182208 + (5.0/3.0) * -0.0339886 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29029,7 +33204,7 @@ void rate_n_Ge63_to_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_d_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_d_to_n_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + d --> n + He3 @@ -29044,9 +33219,13 @@ void rate_d_d_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.0876 + -0.00019002 * tfactors.T9i + -4.2292 * tfactors.T913i + 1.6932 * tfactors.T913 + -0.0855529 * tfactors.T9 + -1.35709e-25 * tfactors.T953 + -0.734513 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00019002 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -4.2292 * tfactors.T943i + (1.0/3.0) * 1.6932 * tfactors.T923i + -0.0855529 + (5.0/3.0) * -1.35709e-25 * tfactors.T923 + -0.734513 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29061,7 +33240,7 @@ void rate_d_d_to_n_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_He3_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_He3_to_d_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + n --> d + d @@ -29076,9 +33255,13 @@ void rate_n_He3_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 19.6369 + -37.9358 * tfactors.T9i + -4.2292 * tfactors.T913i + 1.6932 * tfactors.T913 + -0.0855529 * tfactors.T9 + -1.35709e-25 * tfactors.T953 + -0.734513 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.9358 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -4.2292 * tfactors.T943i + (1.0/3.0) * 1.6932 * tfactors.T923i + -0.0855529 + (5.0/3.0) * -1.35709e-25 * tfactors.T923 + -0.734513 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29093,7 +33276,7 @@ void rate_n_He3_to_d_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + d --> p + He4 @@ -29108,9 +33291,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 41.2969 + -7.182 * tfactors.T913i + -17.1349 * tfactors.T913 + 1.36908 * tfactors.T9 + -0.0814423 * tfactors.T953 + 3.35395 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * -17.1349 * tfactors.T923i + 1.36908 + (5.0/3.0) * -0.0814423 * tfactors.T923 + 3.35395 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29125,9 +33312,13 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 24.6839 + -7.182 * tfactors.T913i + 0.473288 * tfactors.T913 + 1.46847 * tfactors.T9 + -27.9603 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * 0.473288 * tfactors.T923i + 1.46847 + (5.0/3.0) * -27.9603 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29142,7 +33333,7 @@ void rate_d_He3_to_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He3_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He3_to_p_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He4 --> p + Li6 @@ -29157,9 +33348,13 @@ void rate_He4_He3_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.4064 + -46.6405 * tfactors.T9i + -8.39481 * tfactors.T913i + -0.165254 * tfactors.T913 + -0.16936 * tfactors.T9 + 0.0533676 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.6405 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.39481 * tfactors.T943i + (1.0/3.0) * -0.165254 * tfactors.T923i + -0.16936 + (5.0/3.0) * 0.0533676 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29174,7 +33369,7 @@ void rate_He4_He3_to_p_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He4_to_d_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He4_to_d_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + He4 --> d + He3 @@ -29189,9 +33384,13 @@ void rate_p_He4_to_d_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 26.3907 + -212.977 * tfactors.T9i + -7.182 * tfactors.T913i + 0.473288 * tfactors.T913 + 1.46847 * tfactors.T9 + -27.9603 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 212.977 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * 0.473288 * tfactors.T923i + 1.46847 + (5.0/3.0) * -27.9603 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29206,9 +33405,13 @@ void rate_p_He4_to_d_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 43.0037 + -212.977 * tfactors.T9i + -7.182 * tfactors.T913i + -17.1349 * tfactors.T913 + 1.36908 * tfactors.T9 + -0.0814423 * tfactors.T953 + 3.35395 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 212.977 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -7.182 * tfactors.T943i + (1.0/3.0) * -17.1349 * tfactors.T923i + 1.36908 + (5.0/3.0) * -0.0814423 * tfactors.T923 + 3.35395 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29223,7 +33426,7 @@ void rate_p_He4_to_d_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_to_n_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He4 + He4 --> n + Be7 @@ -29238,9 +33441,13 @@ void rate_He4_He4_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.694 + -220.375 * tfactors.T9i + -0.00210045 * tfactors.T913 + 0.000176541 * tfactors.T9 + -1.36797e-05 * tfactors.T953 + 1.00083 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 220.375 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.00210045 * tfactors.T923i + 0.000176541 + (5.0/3.0) * -1.36797e-05 * tfactors.T923 + 1.00083 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29255,7 +33462,7 @@ void rate_He4_He4_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He4 + He4 --> p + Li7 @@ -29270,9 +33477,13 @@ void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.7864 + -205.79 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 205.79 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29287,9 +33498,13 @@ void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.4902 + -201.312 * tfactors.T9i + -8.4727 * tfactors.T913i + 0.417943 * tfactors.T913 + 5.34565 * tfactors.T9 + -4.8684 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 201.312 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.417943 * tfactors.T923i + 5.34565 + (5.0/3.0) * -4.8684 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29304,9 +33519,13 @@ void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 23.4325 + -227.465 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 227.465 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29321,9 +33540,13 @@ void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.9764 + -201.312 * tfactors.T9i + -8.4727 * tfactors.T913i + 0.297934 * tfactors.T913 + 0.0582335 * tfactors.T9 + -0.00413383 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 201.312 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.297934 * tfactors.T923i + 0.0582335 + (5.0/3.0) * -0.00413383 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29338,7 +33561,7 @@ void rate_He4_He4_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li6_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li6_to_He4_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + p --> He4 + He3 @@ -29353,9 +33576,13 @@ void rate_p_Li6_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 24.3475 + -8.39481 * tfactors.T913i + -0.165254 * tfactors.T913 + -0.16936 * tfactors.T9 + 0.0533676 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.39481 * tfactors.T943i + (1.0/3.0) * -0.165254 * tfactors.T923i + -0.16936 + (5.0/3.0) * 0.0533676 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29370,7 +33597,7 @@ void rate_p_Li6_to_He4_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Li6_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Li6_to_n_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + d --> n + Be7 @@ -29385,9 +33612,13 @@ void rate_d_Li6_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.0095 + -4.77456e-12 * tfactors.T9i + -10.259 * tfactors.T913i + -2.01559e-09 * tfactors.T913 + 1.99542e-10 * tfactors.T9 + -1.65595e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.77456e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.259 * tfactors.T943i + (1.0/3.0) * -2.01559e-09 * tfactors.T923i + 1.99542e-10 + (5.0/3.0) * -1.65595e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29402,7 +33633,7 @@ void rate_d_Li6_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Li6_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Li6_to_p_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + d --> p + Li7 @@ -29417,9 +33648,13 @@ void rate_d_Li6_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.0231 + -10.135 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.135 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29434,7 +33669,7 @@ void rate_d_Li6_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li6 + He4 --> p + Be9 @@ -29449,9 +33684,13 @@ void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.5847 + -24.6712 * tfactors.T9i + -10.359 * tfactors.T913i + 0.102577 * tfactors.T913 + 4.43544 * tfactors.T9 + -5.97105 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.6712 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.359 * tfactors.T943i + (1.0/3.0) * 0.102577 * tfactors.T923i + 4.43544 + (5.0/3.0) * -5.97105 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29466,9 +33705,13 @@ void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.8324 + -29.8312 * tfactors.T9i + -0.75 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.8312 * tfactors.T9i * tfactors.T9i + -0.75 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29483,9 +33726,13 @@ void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4366 + -27.7172 * tfactors.T9i + -1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.7172 * tfactors.T9i * tfactors.T9i + -1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29500,7 +33747,7 @@ void rate_He4_Li6_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li7_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li7_to_n_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + p --> n + Be7 @@ -29515,9 +33762,13 @@ void rate_p_Li7_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7899 + -19.0779 * tfactors.T9i + -0.30254 * tfactors.T913i + -0.3602 * tfactors.T913 + 0.17472 * tfactors.T9 + -0.0223 * tfactors.T953 + -0.4581 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.0779 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.30254 * tfactors.T943i + (1.0/3.0) * -0.3602 * tfactors.T923i + 0.17472 + (5.0/3.0) * -0.0223 * tfactors.T923 + -0.4581 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29532,7 +33783,7 @@ void rate_p_Li7_to_n_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li7_to_d_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + p --> d + Li6 @@ -29547,9 +33798,13 @@ void rate_p_Li7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.9494 + -58.3239 * tfactors.T9i + -10.135 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.3239 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.135 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29564,7 +33819,7 @@ void rate_p_Li7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + p --> He4 + He4 @@ -29579,9 +33834,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.8999 + -26.1527 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.1527 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29596,9 +33855,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4438 + -8.4727 * tfactors.T913i + 0.297934 * tfactors.T913 + 0.0582335 * tfactors.T9 + -0.00413383 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.297934 * tfactors.T923i + 0.0582335 + (5.0/3.0) * -0.00413383 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29613,9 +33876,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.2538 + -4.478 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.478 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29630,9 +33897,13 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.9576 + -8.4727 * tfactors.T913i + 0.417943 * tfactors.T913 + 5.34565 * tfactors.T9 + -4.8684 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -8.4727 * tfactors.T943i + (1.0/3.0) * 0.417943 * tfactors.T923i + 5.34565 + (5.0/3.0) * -4.8684 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29647,7 +33918,7 @@ void rate_p_Li7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Li7_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Li7_to_n_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + He4 --> n + B10 @@ -29661,8 +33932,12 @@ void rate_He4_Li7_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // cf88n ln_set_rate = 19.7521 + -32.3766 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 32.3766 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29677,7 +33952,7 @@ void rate_He4_Li7_to_n_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Be7_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Be7_to_p_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + n --> p + Li7 @@ -29692,9 +33967,13 @@ void rate_n_Be7_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 21.7899 + 0.000728098 * tfactors.T9i + -0.30254 * tfactors.T913i + -0.3602 * tfactors.T913 + 0.17472 * tfactors.T9 + -0.0223 * tfactors.T953 + -0.4581 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.000728098 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.30254 * tfactors.T943i + (1.0/3.0) * -0.3602 * tfactors.T923i + 0.17472 + (5.0/3.0) * -0.0223 * tfactors.T923 + -0.4581 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29709,7 +33988,7 @@ void rate_n_Be7_to_p_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Be7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Be7_to_d_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + n --> d + Li6 @@ -29724,9 +34003,13 @@ void rate_n_Be7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.9358 + -39.2438 * tfactors.T9i + -10.259 * tfactors.T913i + -2.01559e-09 * tfactors.T913 + 1.99542e-10 * tfactors.T9 + -1.65595e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.2438 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.259 * tfactors.T943i + (1.0/3.0) * -2.01559e-09 * tfactors.T923i + 1.99542e-10 + (5.0/3.0) * -1.65595e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29741,7 +34024,7 @@ void rate_n_Be7_to_d_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Be7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Be7_to_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + n --> He4 + He4 @@ -29756,9 +34039,13 @@ void rate_n_Be7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.1614 + -0.00210045 * tfactors.T913 + 0.000176541 * tfactors.T9 + -1.36797e-05 * tfactors.T953 + 1.00083 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.00210045 * tfactors.T923i + 0.000176541 + (5.0/3.0) * -1.36797e-05 * tfactors.T923 + 1.00083 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29773,7 +34060,7 @@ void rate_n_Be7_to_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Be7_to_p_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Be7_to_p_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + He4 --> p + B10 @@ -29788,9 +34075,13 @@ void rate_He4_Be7_to_p_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 43.9213 + -13.2872 * tfactors.T9i + -12.9754 * tfactors.T913i + -44.3224 * tfactors.T913 + 62.9626 * tfactors.T9 + -49.5228 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.2872 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.9754 * tfactors.T943i + (1.0/3.0) * -44.3224 * tfactors.T923i + 62.9626 + (5.0/3.0) * -49.5228 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29805,9 +34096,13 @@ void rate_He4_Be7_to_p_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.7467 + -13.8479 * tfactors.T9i + 0.532995 * tfactors.T913i + 22.8893 * tfactors.T913 + -3.08149 * tfactors.T9 + 0.218269 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.8479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.532995 * tfactors.T943i + (1.0/3.0) * 22.8893 * tfactors.T923i + -3.08149 + (5.0/3.0) * 0.218269 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29822,7 +34117,7 @@ void rate_He4_Be7_to_p_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 + p --> He4 + Li6 @@ -29837,9 +34132,13 @@ void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.0751 + -10.359 * tfactors.T913i + 0.102577 * tfactors.T913 + 4.43544 * tfactors.T9 + -5.97105 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.359 * tfactors.T943i + (1.0/3.0) * 0.102577 * tfactors.T923i + 4.43544 + (5.0/3.0) * -5.97105 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29854,9 +34153,13 @@ void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.3228 + -5.16 * tfactors.T9i + -0.75 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.16 * tfactors.T9i * tfactors.T9i + -0.75 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29871,9 +34174,13 @@ void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.927 + -3.046 * tfactors.T9i + -1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.046 * tfactors.T9i * tfactors.T9i + -1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29888,7 +34195,7 @@ void rate_p_Be9_to_He4_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 + He4 --> n + C12 @@ -29903,9 +34210,13 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.744 + -4.179 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.179 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29920,9 +34231,13 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -1.48281 + -1.834 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.834 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29937,9 +34252,13 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -9.51959 + -1.184 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.184 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29954,9 +34273,13 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 31.464 + -23.87 * tfactors.T913i + 0.566698 * tfactors.T913 + 44.0957 * tfactors.T9 + -314.232 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -23.87 * tfactors.T943i + (1.0/3.0) * 0.566698 * tfactors.T923i + 44.0957 + (5.0/3.0) * -314.232 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29970,8 +34293,12 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // cf88r ln_set_rate = 19.2962 + -12.732 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.732 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -29986,7 +34313,7 @@ void rate_He4_Be9_to_n_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_B10_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_B10_to_He4_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 + n --> He4 + Li7 @@ -30001,8 +34328,12 @@ void rate_n_B10_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.0438; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30017,7 +34348,7 @@ void rate_n_B10_to_He4_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_B10_to_He4_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_B10_to_He4_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 + p --> He4 + Be7 @@ -30032,9 +34363,13 @@ void rate_p_B10_to_He4_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.45503 + -0.560753 * tfactors.T9i + 0.532995 * tfactors.T913i + 22.8893 * tfactors.T913 + -3.08149 * tfactors.T9 + 0.218269 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.560753 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 0.532995 * tfactors.T943i + (1.0/3.0) * 22.8893 * tfactors.T923i + -3.08149 + (5.0/3.0) * 0.218269 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30049,9 +34384,13 @@ void rate_p_B10_to_He4_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 44.213 + -12.9754 * tfactors.T913i + -44.3224 * tfactors.T913 + 62.9626 * tfactors.T9 + -49.5228 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.9754 * tfactors.T943i + (1.0/3.0) * -44.3224 * tfactors.T923i + 62.9626 + (5.0/3.0) * -49.5228 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30066,7 +34405,7 @@ void rate_p_B10_to_He4_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_B10_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_B10_to_n_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 + He4 --> n + N13 @@ -30081,9 +34420,13 @@ void rate_He4_B10_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 30.5042 + -27.8719 * tfactors.T913i + -0.599503 * tfactors.T913 + 0.122849 * tfactors.T9 + -0.0393717 * tfactors.T953 + -0.507333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.8719 * tfactors.T943i + (1.0/3.0) * -0.599503 * tfactors.T923i + 0.122849 + (5.0/3.0) * -0.0393717 * tfactors.T923 + -0.507333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30098,7 +34441,7 @@ void rate_He4_B10_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_B10_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_B10_to_p_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B10 + He4 --> p + C13 @@ -30113,9 +34456,13 @@ void rate_He4_B10_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 34.498 + -27.99 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.99 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30130,7 +34477,7 @@ void rate_He4_B10_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + He4 --> n + N14 @@ -30145,9 +34492,13 @@ void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 29.5726 + -28.234 * tfactors.T913i + -0.325987 * tfactors.T913 + 30.135 * tfactors.T9 + -78.4165 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -28.234 * tfactors.T943i + (1.0/3.0) * -0.325987 * tfactors.T923i + 30.135 + (5.0/3.0) * -78.4165 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30162,9 +34513,13 @@ void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.3084 + -8.596 * tfactors.T9i + 0.6 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.596 * tfactors.T9i * tfactors.T9i + 0.6 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30179,9 +34534,13 @@ void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.44425 + -5.178 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.178 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30196,9 +34555,13 @@ void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 0.582216 + -2.827 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.827 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30213,7 +34576,7 @@ void rate_He4_B11_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + He4 --> p + C14 @@ -30228,9 +34591,13 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.48852 + -5.147 * tfactors.T9i + -5.81643e-09 * tfactors.T913i + 1.24374e-08 * tfactors.T913 + -9.55069e-10 * tfactors.T9 + 6.81706e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.147 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.81643e-09 * tfactors.T943i + (1.0/3.0) * 1.24374e-08 * tfactors.T923i + -9.55069e-10 + (5.0/3.0) * 6.81706e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30245,9 +34612,13 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 6.1942 + -5.157 * tfactors.T9i + -2.8504e-09 * tfactors.T913i + 5.85721e-09 * tfactors.T913 + -4.34052e-10 * tfactors.T9 + 3.01373e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.157 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.8504e-09 * tfactors.T943i + (1.0/3.0) * 5.85721e-09 * tfactors.T923i + -4.34052e-10 + (5.0/3.0) * 3.01373e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30262,9 +34633,13 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 178.316 + -0.19519 * tfactors.T9i + 4.28912 * tfactors.T913i + -214.72 * tfactors.T913 + 57.4073 * tfactors.T9 + -25.5329 * tfactors.T953 + 53.0473 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.19519 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.28912 * tfactors.T943i + (1.0/3.0) * -214.72 * tfactors.T923i + 57.4073 + (5.0/3.0) * -25.5329 * tfactors.T923 + 53.0473 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30279,9 +34654,13 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.4137 + -11.26 * tfactors.T9i + -1.87598e-08 * tfactors.T913i + 3.26423e-08 * tfactors.T913 + -2.18782e-09 * tfactors.T9 + 1.43323e-10 * tfactors.T953 + 0.6 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.26 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.87598e-08 * tfactors.T943i + (1.0/3.0) * 3.26423e-08 * tfactors.T923i + -2.18782e-09 + (5.0/3.0) * 1.43323e-10 * tfactors.T923 + 0.6 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30296,9 +34675,13 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -5.21398 + -2.868 * tfactors.T9i + 2.62625e-09 * tfactors.T913i + -6.58921e-09 * tfactors.T913 + 5.62244e-10 * tfactors.T9 + -4.28925e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.868 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.62625e-09 * tfactors.T943i + (1.0/3.0) * -6.58921e-09 * tfactors.T923i + 5.62244e-10 + (5.0/3.0) * -4.28925e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30313,7 +34696,7 @@ void rate_He4_B11_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + n --> He4 + Be9 @@ -30328,9 +34711,13 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 0.858256 + -67.9913 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.9913 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30345,9 +34732,13 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.17852 + -67.3413 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.3413 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30362,9 +34753,13 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 33.8051 + -66.1573 * tfactors.T9i + -23.87 * tfactors.T913i + 0.566698 * tfactors.T913 + 44.0957 * tfactors.T9 + -314.232 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 66.1573 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.87 * tfactors.T943i + (1.0/3.0) * 0.566698 * tfactors.T923i + 44.0957 + (5.0/3.0) * -314.232 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30378,8 +34773,12 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // cf88r ln_set_rate = 21.6373 + -78.8893 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.8893 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30394,9 +34793,13 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.0851 + -70.3363 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 70.3363 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30411,7 +34814,7 @@ void rate_n_C12_to_He4_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_n_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> n + O15 @@ -30426,9 +34829,13 @@ void rate_He4_C12_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.0115 + -98.6615 * tfactors.T9i + 0.124787 * tfactors.T913 + 0.0588937 * tfactors.T9 + -0.00679206 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 98.6615 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.124787 * tfactors.T923i + 0.0588937 + (5.0/3.0) * -0.00679206 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30443,7 +34850,7 @@ void rate_He4_C12_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + He4 --> p + N15 @@ -30458,9 +34865,13 @@ void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.118 + -57.6279 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 57.6279 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30475,9 +34886,13 @@ void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.93365 + -58.7917 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.7917 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30492,9 +34907,13 @@ void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.5388 + -65.034 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.034 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30509,9 +34928,13 @@ void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -5.2319 + -59.6491 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.6491 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30526,7 +34949,7 @@ void rate_He4_C12_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> n + Mg23 @@ -30541,9 +34964,13 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30558,7 +34985,7 @@ void rate_C12_C12_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> p + Na23 @@ -30573,9 +35000,13 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30590,7 +35021,7 @@ void rate_C12_C12_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C12 + C12 --> He4 + Ne20 @@ -30605,9 +35036,13 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30622,7 +35057,7 @@ void rate_C12_C12_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_n_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> n + N13 @@ -30637,9 +35072,13 @@ void rate_p_C13_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7625 + -34.8483 * tfactors.T9i + 1.26126 * tfactors.T913 + -0.204952 * tfactors.T9 + 0.0310523 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.8483 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.26126 * tfactors.T923i + -0.204952 + (5.0/3.0) * 0.0310523 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30654,7 +35093,7 @@ void rate_p_C13_to_n_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C13_to_He4_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + p --> He4 + B10 @@ -30669,9 +35108,13 @@ void rate_p_C13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 36.7435 + -47.1362 * tfactors.T9i + -27.99 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.1362 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.99 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30686,7 +35129,7 @@ void rate_p_C13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_C13_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_C13_to_n_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + d --> n + N14 @@ -30701,9 +35144,13 @@ void rate_d_C13_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 27.1993 + -0.00261944 * tfactors.T9i + -16.8935 * tfactors.T913i + 4.06445 * tfactors.T913 + -1.1715 * tfactors.T9 + 0.118556 * tfactors.T953 + -1.13937 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.00261944 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.8935 * tfactors.T943i + (1.0/3.0) * 4.06445 * tfactors.T923i + -1.1715 + (5.0/3.0) * 0.118556 * tfactors.T923 + -1.13937 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30718,7 +35165,7 @@ void rate_d_C13_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C13_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C13_to_n_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C13 + He4 --> n + O16 @@ -30733,9 +35180,13 @@ void rate_He4_C13_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.5775 + -0.0277331 * tfactors.T9i + -32.3917 * tfactors.T913i + -48.934 * tfactors.T913 + 44.1843 * tfactors.T9 + -20.8743 * tfactors.T953 + 2.02494 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0277331 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.3917 * tfactors.T943i + (1.0/3.0) * -48.934 * tfactors.T923i + 44.1843 + (5.0/3.0) * -20.8743 * tfactors.T923 + 2.02494 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30750,9 +35201,13 @@ void rate_He4_C13_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 79.3008 + -0.30489 * tfactors.T9i + 7.43132 * tfactors.T913i + -84.8689 * tfactors.T913 + 3.65083 * tfactors.T9 + -0.148015 * tfactors.T953 + 37.6008 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.30489 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.43132 * tfactors.T943i + (1.0/3.0) * -84.8689 * tfactors.T923i + 3.65083 + (5.0/3.0) * -0.148015 * tfactors.T923 + 37.6008 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30767,7 +35222,7 @@ void rate_He4_C13_to_n_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C14_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C14_to_n_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + p --> n + N14 @@ -30782,9 +35237,13 @@ void rate_p_C14_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.23589 + -7.26442 * tfactors.T9i + 12.3428 * tfactors.T913 + -2.70025 * tfactors.T9 + 0.236625 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.26442 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 12.3428 * tfactors.T923i + -2.70025 + (5.0/3.0) * 0.236625 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30799,9 +35258,13 @@ void rate_p_C14_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 14.7608 + -7.26442 * tfactors.T9i + -4.33989 * tfactors.T913 + 11.4311 * tfactors.T9 + -11.7764 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.26442 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -4.33989 * tfactors.T923i + 11.4311 + (5.0/3.0) * -11.7764 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30816,7 +35279,7 @@ void rate_p_C14_to_n_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + p --> He4 + B11 @@ -30831,9 +35294,13 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -2.80313 + -11.965 * tfactors.T9i + 2.62625e-09 * tfactors.T913i + -6.58921e-09 * tfactors.T913 + 5.62244e-10 * tfactors.T9 + -4.28925e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.965 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.62625e-09 * tfactors.T943i + (1.0/3.0) * -6.58921e-09 * tfactors.T923i + 5.62244e-10 + (5.0/3.0) * -4.28925e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30848,9 +35315,13 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.89937 + -14.244 * tfactors.T9i + -5.81643e-09 * tfactors.T913i + 1.24374e-08 * tfactors.T913 + -9.55069e-10 * tfactors.T9 + 6.81706e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.244 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.81643e-09 * tfactors.T943i + (1.0/3.0) * 1.24374e-08 * tfactors.T923i + -9.55069e-10 + (5.0/3.0) * 6.81706e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30865,9 +35336,13 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.60505 + -14.254 * tfactors.T9i + -2.8504e-09 * tfactors.T913i + 5.85721e-09 * tfactors.T913 + -4.34052e-10 * tfactors.T9 + 3.01373e-11 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -2.8504e-09 * tfactors.T943i + (1.0/3.0) * 5.85721e-09 * tfactors.T923i + -4.34052e-10 + (5.0/3.0) * 3.01373e-11 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30882,9 +35357,13 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 180.727 + -9.29223 * tfactors.T9i + 4.28912 * tfactors.T913i + -214.72 * tfactors.T913 + 57.4073 * tfactors.T9 + -25.5329 * tfactors.T953 + 53.0473 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.29223 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.28912 * tfactors.T943i + (1.0/3.0) * -214.72 * tfactors.T923i + 57.4073 + (5.0/3.0) * -25.5329 * tfactors.T923 + 53.0473 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30899,9 +35378,13 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.8245 + -20.357 * tfactors.T9i + -1.87598e-08 * tfactors.T913i + 3.26423e-08 * tfactors.T913 + -2.18782e-09 * tfactors.T9 + 1.43323e-10 * tfactors.T953 + 0.6 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.357 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.87598e-08 * tfactors.T943i + (1.0/3.0) * 3.26423e-08 * tfactors.T923i + -2.18782e-09 + (5.0/3.0) * 1.43323e-10 * tfactors.T923 + 0.6 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30916,7 +35399,7 @@ void rate_p_C14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_C14_to_n_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_C14_to_n_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + d --> n + N15 @@ -30931,9 +35414,13 @@ void rate_d_C14_to_n_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 33.5637 + -16.939 * tfactors.T913i + -4.14392 * tfactors.T913 + 0.438623 * tfactors.T9 + -0.0354193 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.939 * tfactors.T943i + (1.0/3.0) * -4.14392 * tfactors.T923i + 0.438623 + (5.0/3.0) * -0.0354193 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30948,9 +35435,13 @@ void rate_d_C14_to_n_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 30.6841 + -16.939 * tfactors.T913i + -0.582342 * tfactors.T913 + -8.17066 * tfactors.T9 + 1.70865 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.939 * tfactors.T943i + (1.0/3.0) * -0.582342 * tfactors.T923i + -8.17066 + (5.0/3.0) * 1.70865 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30965,7 +35456,7 @@ void rate_d_C14_to_n_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // C14 + He4 --> n + O17 @@ -30980,9 +35471,13 @@ void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.7889 + -23.8496 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.8496 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -30997,9 +35492,13 @@ void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.4267 + -23.0516 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.0516 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31013,8 +35512,12 @@ void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre // kg91n ln_set_rate = 11.0417 + -21.0906 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.0906 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31029,7 +35532,7 @@ void rate_He4_C14_to_n_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N13_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N13_to_p_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + n --> p + C13 @@ -31044,9 +35547,13 @@ void rate_n_N13_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 17.7625 + 1.26126 * tfactors.T913 + -0.204952 * tfactors.T9 + 0.0310523 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.26126 * tfactors.T923i + -0.204952 + (5.0/3.0) * 0.0310523 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31061,7 +35568,7 @@ void rate_n_N13_to_p_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N13_to_He4_B10_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + n --> He4 + B10 @@ -31076,9 +35583,13 @@ void rate_n_N13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 32.7497 + -12.2892 * tfactors.T9i + -27.8719 * tfactors.T913i + -0.599503 * tfactors.T913 + 0.122849 * tfactors.T9 + -0.0393717 * tfactors.T953 + -0.507333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.2892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8719 * tfactors.T943i + (1.0/3.0) * -0.599503 * tfactors.T923i + 0.122849 + (5.0/3.0) * -0.0393717 * tfactors.T923 + -0.507333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31093,7 +35604,7 @@ void rate_n_N13_to_He4_B10_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N13 + He4 --> p + O16 @@ -31108,9 +35619,13 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31125,7 +35640,7 @@ void rate_He4_N13_to_p_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N14_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N14_to_p_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + n --> p + C14 @@ -31140,9 +35655,13 @@ void rate_n_N14_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 4.13728 + 12.3428 * tfactors.T913 + -2.70025 * tfactors.T9 + 0.236625 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 12.3428 * tfactors.T923i + -2.70025 + (5.0/3.0) * 0.236625 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31157,9 +35676,13 @@ void rate_n_N14_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 13.6622 + -4.33989 * tfactors.T913 + 11.4311 * tfactors.T9 + -11.7764 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -4.33989 * tfactors.T923i + 11.4311 + (5.0/3.0) * -11.7764 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31174,7 +35697,7 @@ void rate_n_N14_to_p_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N14_to_d_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N14_to_d_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + n --> d + C13 @@ -31189,9 +35712,13 @@ void rate_n_N14_to_d_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 28.1279 + -61.8182 * tfactors.T9i + -16.8935 * tfactors.T913i + 4.06445 * tfactors.T913 + -1.1715 * tfactors.T9 + 0.118556 * tfactors.T953 + -1.13937 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.8182 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.8935 * tfactors.T943i + (1.0/3.0) * 4.06445 * tfactors.T923i + -1.1715 + (5.0/3.0) * 0.118556 * tfactors.T923 + -1.13937 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31206,7 +35733,7 @@ void rate_n_N14_to_d_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + n --> He4 + B11 @@ -31221,9 +35748,13 @@ void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.75648 + -7.01151 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.01151 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31238,9 +35769,13 @@ void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.89445 + -4.66051 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.66051 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31255,9 +35790,13 @@ void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 30.8848 + -1.83351 * tfactors.T9i + -28.234 * tfactors.T913i + -0.325987 * tfactors.T913 + 30.135 * tfactors.T9 + -78.4165 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.83351 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -28.234 * tfactors.T943i + (1.0/3.0) * -0.325987 * tfactors.T923i + 30.135 + (5.0/3.0) * -78.4165 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31272,9 +35811,13 @@ void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.6206 + -10.4295 * tfactors.T9i + 0.6 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.4295 * tfactors.T9i * tfactors.T9i + 0.6 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31289,7 +35832,7 @@ void rate_n_N14_to_He4_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N14_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N14_to_n_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + p --> n + O14 @@ -31304,9 +35847,13 @@ void rate_p_N14_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 11.3432 + -68.7567 * tfactors.T9i + 5.48024 * tfactors.T913 + -0.764072 * tfactors.T9 + 0.0587804 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 68.7567 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.48024 * tfactors.T923i + -0.764072 + (5.0/3.0) * 0.0587804 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31321,7 +35868,7 @@ void rate_p_N14_to_n_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_n_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> n + F17 @@ -31336,9 +35883,13 @@ void rate_He4_N14_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.2094 + -54.9473 * tfactors.T9i + -0.712285 * tfactors.T913 + 0.240317 * tfactors.T9 + -0.0201705 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 54.9473 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.712285 * tfactors.T923i + 0.240317 + (5.0/3.0) * -0.0201705 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31353,7 +35904,7 @@ void rate_He4_N14_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N14 + He4 --> p + O17 @@ -31368,9 +35919,13 @@ void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.13169 + -15.9452 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.9452 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31385,9 +35940,13 @@ void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.60954 + -14.5839 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.5839 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31402,9 +35961,13 @@ void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.1771 + -13.8305 * tfactors.T9i + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.8305 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31419,9 +35982,13 @@ void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 9.77209 + -18.7891 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.7891 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31436,7 +36003,7 @@ void rate_He4_N14_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_N15_to_d_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_N15_to_d_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + n --> d + C14 @@ -31451,9 +36018,13 @@ void rate_n_N15_to_d_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 34.2122 + -92.6344 * tfactors.T9i + -16.939 * tfactors.T913i + -4.14392 * tfactors.T913 + 0.438623 * tfactors.T9 + -0.0354193 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.6344 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.939 * tfactors.T943i + (1.0/3.0) * -4.14392 * tfactors.T923i + 0.438623 + (5.0/3.0) * -0.0354193 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31468,9 +36039,13 @@ void rate_n_N15_to_d_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 31.3326 + -92.6344 * tfactors.T9i + -16.939 * tfactors.T913i + -0.582342 * tfactors.T913 + -8.17066 * tfactors.T9 + 1.70865 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.6344 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.939 * tfactors.T943i + (1.0/3.0) * -0.582342 * tfactors.T923i + -8.17066 + (5.0/3.0) * 1.70865 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31485,7 +36060,7 @@ void rate_n_N15_to_d_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_n_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> n + O15 @@ -31500,9 +36075,13 @@ void rate_p_N15_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.3942 + -41.0335 * tfactors.T9i + 0.331392 * tfactors.T913 + 0.0171473 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 41.0335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.331392 * tfactors.T923i + 0.0171473; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31517,7 +36096,7 @@ void rate_p_N15_to_n_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + p --> He4 + C12 @@ -31532,9 +36111,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31549,9 +36132,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31566,9 +36153,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31583,9 +36174,13 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31600,7 +36195,7 @@ void rate_p_N15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_n_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> n + F18 @@ -31615,9 +36210,13 @@ void rate_He4_N15_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.0938 + -74.4713 * tfactors.T9i + 1.74308 * tfactors.T913 + -1.15123 * tfactors.T9 + 0.135196 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.4713 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.74308 * tfactors.T923i + -1.15123 + (5.0/3.0) * 0.135196 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31632,7 +36231,7 @@ void rate_He4_N15_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // N15 + He4 --> p + O18 @@ -31647,9 +36246,13 @@ void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.46654 + -47.8616 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.8616 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31664,9 +36267,13 @@ void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -29.7104 + -46.4444 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.4444 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31681,9 +36288,13 @@ void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.1611 + -46.1986 * tfactors.T9i + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.1986 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31698,9 +36309,13 @@ void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.13756 + -51.5219 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.5219 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31715,7 +36330,7 @@ void rate_He4_N15_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O14_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O14_to_p_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + n --> p + N14 @@ -31730,9 +36345,13 @@ void rate_n_O14_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 12.4418 + 5.48024 * tfactors.T913 + -0.764072 * tfactors.T9 + 0.0587804 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.48024 * tfactors.T923i + -0.764072 + (5.0/3.0) * 0.0587804 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31747,7 +36366,7 @@ void rate_n_O14_to_p_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O14 + He4 --> p + F17 @@ -31762,9 +36381,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31779,9 +36402,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31796,9 +36423,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31813,9 +36444,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31830,9 +36465,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31847,9 +36486,13 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31864,7 +36507,7 @@ void rate_He4_O14_to_p_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O15_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O15_to_p_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + n --> p + N15 @@ -31879,9 +36522,13 @@ void rate_n_O15_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 18.3942 + 0.331392 * tfactors.T913 + 0.0171473 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.331392 * tfactors.T923i + 0.0171473; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31896,7 +36543,7 @@ void rate_n_O15_to_p_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O15_to_He4_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + n --> He4 + C12 @@ -31911,9 +36558,13 @@ void rate_n_O15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.3699 + 0.124787 * tfactors.T913 + 0.0588937 * tfactors.T9 + -0.00679206 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.124787 * tfactors.T923i + 0.0588937 + (5.0/3.0) * -0.00679206 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31928,7 +36579,7 @@ void rate_n_O15_to_He4_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_n_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> n + Ne18 @@ -31943,9 +36594,13 @@ void rate_He4_O15_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 16.2469 + -94.0888 * tfactors.T9i + 0.377325 * tfactors.T913 + 0.0968945 * tfactors.T9 + -0.007769 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.0888 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.377325 * tfactors.T923i + 0.0968945 + (5.0/3.0) * -0.007769 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31960,7 +36615,7 @@ void rate_He4_O15_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O15 + He4 --> p + F18 @@ -31975,9 +36630,13 @@ void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 61.2985 + -33.4459 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.4459 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -31992,9 +36651,13 @@ void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.04969 + -36.4627 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.4627 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32009,9 +36672,13 @@ void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -32.4461 + -33.8223 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.8223 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32026,7 +36693,7 @@ void rate_He4_O15_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O16_to_He4_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O16_to_He4_C13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + n --> He4 + C13 @@ -32041,9 +36708,13 @@ void rate_n_O16_to_He4_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 64.3455 + -25.7388 * tfactors.T9i + -32.3917 * tfactors.T913i + -48.934 * tfactors.T913 + 44.1843 * tfactors.T9 + -20.8743 * tfactors.T953 + 2.02494 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.7388 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.3917 * tfactors.T943i + (1.0/3.0) * -48.934 * tfactors.T923i + 44.1843 + (5.0/3.0) * -20.8743 * tfactors.T923 + 2.02494 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32058,9 +36729,13 @@ void rate_n_O16_to_He4_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 81.0688 + -26.0159 * tfactors.T9i + 7.43132 * tfactors.T913i + -84.8689 * tfactors.T913 + 3.65083 * tfactors.T9 + -0.148015 * tfactors.T953 + 37.6008 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0159 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.43132 * tfactors.T943i + (1.0/3.0) * -84.8689 * tfactors.T923i + 3.65083 + (5.0/3.0) * -0.148015 * tfactors.T923 + 37.6008 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32075,7 +36750,7 @@ void rate_n_O16_to_He4_C13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O16_to_He4_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O16_to_He4_N13_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + p --> He4 + N13 @@ -32090,9 +36765,13 @@ void rate_p_O16_to_He4_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 42.2324 + -60.5523 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 60.5523 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32107,7 +36786,7 @@ void rate_p_O16_to_He4_N13_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_n_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> n + Ne19 @@ -32122,9 +36801,13 @@ void rate_He4_O16_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 17.2055 + -140.818 * tfactors.T9i + 1.70736 * tfactors.T913 + -0.132579 * tfactors.T9 + 0.00454218 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 140.818 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.70736 * tfactors.T923i + -0.132579 + (5.0/3.0) * 0.00454218 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32139,7 +36822,7 @@ void rate_He4_O16_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + He4 --> p + F19 @@ -32154,9 +36837,13 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 7.80363 + -96.6272 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 96.6272 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32171,9 +36858,13 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -53.1397 + -94.2866 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.2866 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32188,9 +36879,13 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 25.8562 + -94.1589 * tfactors.T9i + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 94.1589 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32205,9 +36900,13 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.9232 + -97.4449 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 97.4449 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32222,9 +36921,13 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.7601 + -97.9108 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 97.9108 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32239,7 +36942,7 @@ void rate_He4_O16_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> p + Al27 @@ -32254,9 +36957,13 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32271,7 +36978,7 @@ void rate_C12_O16_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + C12 --> He4 + Mg24 @@ -32286,9 +36993,13 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32303,7 +37014,7 @@ void rate_C12_O16_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> p + P31 @@ -32318,9 +37029,13 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32335,7 +37050,7 @@ void rate_O16_O16_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O16 + O16 --> He4 + Si28 @@ -32350,9 +37065,13 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32367,7 +37086,7 @@ void rate_O16_O16_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + n --> He4 + C14 @@ -32382,9 +37101,13 @@ void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.73 + -1.961 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.961 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32399,8 +37122,12 @@ void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.345; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32415,9 +37142,13 @@ void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.0922 + -2.759 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.759 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32432,7 +37163,7 @@ void rate_n_O17_to_He4_C14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_n_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> n + F17 @@ -32446,8 +37177,12 @@ void rate_p_O17_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // wagn ln_set_rate = 19.0085 + -41.1187 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 41.1187 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32462,7 +37197,7 @@ void rate_p_O17_to_n_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + p --> He4 + N14 @@ -32477,9 +37212,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32494,9 +37233,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32511,9 +37254,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32528,9 +37275,13 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32545,7 +37296,7 @@ void rate_p_O17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O17 + He4 --> n + Ne20 @@ -32560,9 +37311,13 @@ void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 1.80342 + -13.8 * tfactors.T9i + 12.6501 * tfactors.T913 + -1.10938 * tfactors.T9 + 0.0696232 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.8 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 12.6501 * tfactors.T923i + -1.10938 + (5.0/3.0) * 0.0696232 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32577,9 +37332,13 @@ void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 7.45588 + -8.55 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.55 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32594,9 +37353,13 @@ void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 40.621 + -39.918 * tfactors.T913i + 0.227017 * tfactors.T9 + -0.900234 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.918 * tfactors.T943i + 0.227017 + (5.0/3.0) * -0.900234 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32611,7 +37374,7 @@ void rate_He4_O17_to_n_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_n_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> n + F18 @@ -32625,8 +37388,12 @@ void rate_p_O18_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: // wagn ln_set_rate = 20.1071 + -28.2841 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.2841 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32641,7 +37408,7 @@ void rate_p_O18_to_n_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + p --> He4 + N15 @@ -32656,9 +37423,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32673,9 +37444,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32690,9 +37465,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32707,9 +37486,13 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32724,7 +37507,7 @@ void rate_p_O18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // O18 + He4 --> n + Ne21 @@ -32739,9 +37522,13 @@ void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.51575 + -8.41969 * tfactors.T9i + 6.51299 * tfactors.T913 + -0.334277 * tfactors.T9 + 2.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.41969 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.51299 * tfactors.T923i + -0.334277 + 2.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32756,9 +37543,13 @@ void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 1.3415 + -15.444 * tfactors.T9i + 11.656 * tfactors.T913 + -1.24869 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.444 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.656 * tfactors.T923i + -1.24869 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32772,8 +37563,12 @@ void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr // nacrn ln_set_rate = 2.82796 + -8.085 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.085 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32788,7 +37583,7 @@ void rate_He4_O18_to_n_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F17_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F17_to_p_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + n --> p + O17 @@ -32803,8 +37598,12 @@ void rate_n_F17_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.0085; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32819,7 +37618,7 @@ void rate_n_F17_to_p_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F17_to_He4_N14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + n --> He4 + N14 @@ -32834,9 +37633,13 @@ void rate_n_F17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.6113 + -0.712285 * tfactors.T913 + 0.240317 * tfactors.T9 + -0.0201705 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.712285 * tfactors.T923i + 0.240317 + (5.0/3.0) * -0.0201705 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32851,7 +37654,7 @@ void rate_n_F17_to_He4_N14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + p --> He4 + O14 @@ -32866,9 +37669,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.4217 + -27.4326 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.4326 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32883,9 +37690,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -106.788 + -14.2856 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.2856 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32900,9 +37711,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.4322 + -25.8549 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.8549 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32917,9 +37732,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.9551 + -39.8326 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.8326 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32934,9 +37753,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 40.1391 + -13.8326 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.8326 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32951,9 +37774,13 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.612 + -36.3426 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.3426 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -32968,7 +37795,7 @@ void rate_p_F17_to_He4_O14_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F17 + He4 --> p + Ne20 @@ -32983,9 +37810,13 @@ void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 38.6287 + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33000,7 +37831,7 @@ void rate_He4_F17_to_p_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F18_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F18_to_p_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + n --> p + O18 @@ -33015,8 +37846,12 @@ void rate_n_F18_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 19.0085; amrex::ignore_unused(tfactors); + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33031,7 +37866,7 @@ void rate_n_F18_to_p_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_F18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_F18_to_He4_N15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + n --> He4 + N15 @@ -33046,9 +37881,13 @@ void rate_n_F18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.8011 + 1.74308 * tfactors.T913 + -1.15123 * tfactors.T9 + 0.135196 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.74308 * tfactors.T923i + -1.15123 + (5.0/3.0) * 0.135196 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33063,7 +37902,7 @@ void rate_n_F18_to_He4_N15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_n_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> n + Ne18 @@ -33078,9 +37917,13 @@ void rate_p_F18_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 17.4443 + -60.6429 * tfactors.T9i + 0.590026 * tfactors.T913 + 0.0742242 * tfactors.T9 + -0.0116856 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 60.6429 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.590026 * tfactors.T923i + 0.0742242 + (5.0/3.0) * -0.0116856 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33095,7 +37938,7 @@ void rate_p_F18_to_n_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + p --> He4 + O15 @@ -33110,9 +37953,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33127,9 +37974,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33144,9 +37995,13 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33161,7 +38016,7 @@ void rate_p_F18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_n_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> n + Na21 @@ -33176,9 +38031,13 @@ void rate_He4_F18_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 14.8808 + -30.0387 * tfactors.T9i + 1.06229 * tfactors.T913 + 0.212448 * tfactors.T9 + -0.020685 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.0387 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.06229 * tfactors.T923i + 0.212448 + (5.0/3.0) * -0.020685 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33193,7 +38052,7 @@ void rate_He4_F18_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F18 + He4 --> p + Ne21 @@ -33208,9 +38067,13 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33225,7 +38088,7 @@ void rate_He4_F18_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_n_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> n + Ne19 @@ -33240,9 +38103,13 @@ void rate_p_F19_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.6732 + -46.6617 * tfactors.T9i + 4.34441 * tfactors.T913 + -1.71268 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.6617 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.34441 * tfactors.T923i + -1.71268; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33257,9 +38124,13 @@ void rate_p_F19_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.353 + -46.6617 * tfactors.T9i + -1.58171 * tfactors.T913 + 0.0324472 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.6617 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.58171 * tfactors.T923i + 0.0324472 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33274,7 +38145,7 @@ void rate_p_F19_to_n_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + p --> He4 + O16 @@ -33289,9 +38160,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33306,9 +38181,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33323,9 +38202,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33340,9 +38223,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33357,9 +38244,13 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33374,7 +38265,7 @@ void rate_p_F19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_n_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> n + Na22 @@ -33389,9 +38280,13 @@ void rate_He4_F19_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 6.67675 + -22.6172 * tfactors.T9i + 6.22036 * tfactors.T913 + -0.0209891 * tfactors.T9 + -0.0689843 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.6172 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.22036 * tfactors.T923i + -0.0209891 + (5.0/3.0) * -0.0689843 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33406,9 +38301,13 @@ void rate_He4_F19_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.0925 + -22.6172 * tfactors.T9i + -0.0532251 * tfactors.T913 + 1.00044 * tfactors.T9 + -0.13238 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.6172 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0532251 * tfactors.T923i + 1.00044 + (5.0/3.0) * -0.13238 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33423,7 +38322,7 @@ void rate_He4_F19_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // F19 + He4 --> p + Ne22 @@ -33438,9 +38337,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 52.9317 + -2.8444 * tfactors.T9i + -38.7722 * tfactors.T913i + -13.3654 * tfactors.T913 + 0.863648 * tfactors.T9 + -0.0451491 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.8444 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.7722 * tfactors.T943i + (1.0/3.0) * -13.3654 * tfactors.T923i + 0.863648 + (5.0/3.0) * -0.0451491 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33455,9 +38358,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 51.6709 + -45.7808 * tfactors.T9i + -34.5008 * tfactors.T913i + 56.9316 * tfactors.T913 + 2.09613 * tfactors.T9 + -32.496 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 45.7808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.5008 * tfactors.T943i + (1.0/3.0) * 56.9316 * tfactors.T923i + 2.09613 + (5.0/3.0) * -32.496 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33472,9 +38379,13 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 29430.6 + -133.026 * tfactors.T9i + 12625.1 * tfactors.T913i + -49107.1 * tfactors.T913 + 9227.53 * tfactors.T9 + -2086.65 * tfactors.T953 + 14520.2 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 133.026 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 12625.1 * tfactors.T943i + (1.0/3.0) * -49107.1 * tfactors.T923i + 9227.53 + (5.0/3.0) * -2086.65 * tfactors.T923 + 14520.2 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33489,7 +38400,7 @@ void rate_He4_F19_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne18_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne18_to_p_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + n --> p + F18 @@ -33504,9 +38415,13 @@ void rate_n_Ne18_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.5429 + 0.590026 * tfactors.T913 + 0.0742242 * tfactors.T9 + -0.0116856 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.590026 * tfactors.T923i + 0.0742242 + (5.0/3.0) * -0.0116856 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33521,7 +38436,7 @@ void rate_n_Ne18_to_p_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne18_to_He4_O15_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + n --> He4 + O15 @@ -33536,9 +38451,13 @@ void rate_n_Ne18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.0529 + 0.377325 * tfactors.T913 + 0.0968945 * tfactors.T9 + -0.007769 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.377325 * tfactors.T923i + 0.0968945 + (5.0/3.0) * -0.007769 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33553,7 +38472,7 @@ void rate_n_Ne18_to_He4_O15_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne18 + He4 --> p + Na21 @@ -33568,9 +38487,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.5811 + -5.76874 * tfactors.T9i + 8.5632e-08 * tfactors.T913i + 24.8579 * tfactors.T913 + 0.0823845 * tfactors.T9 + -0.365374 * tfactors.T953 + -2.21415e-06 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.76874 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.5632e-08 * tfactors.T943i + (1.0/3.0) * 24.8579 * tfactors.T923i + 0.0823845 + (5.0/3.0) * -0.365374 * tfactors.T923 + -2.21415e-06 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33585,9 +38508,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -22.4389 + -10.2598 * tfactors.T9i + 4.73034e-07 * tfactors.T913i + 36.29 * tfactors.T913 + -6.56565 * tfactors.T9 + -2.96287e-06 * tfactors.T953 + -9.00373e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.2598 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.73034e-07 * tfactors.T943i + (1.0/3.0) * 36.29 * tfactors.T923i + -6.56565 + (5.0/3.0) * -2.96287e-06 * tfactors.T923 + -9.00373e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33602,9 +38529,13 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -37.3979 + -3.8681 * tfactors.T9i + 7.09521e-06 * tfactors.T913i + 34.1789 * tfactors.T913 + -1.72974 * tfactors.T9 + -0.0395081 * tfactors.T953 + -7.82759e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.8681 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.09521e-06 * tfactors.T943i + (1.0/3.0) * 34.1789 * tfactors.T923i + -1.72974 + (5.0/3.0) * -0.0395081 * tfactors.T923 + -7.82759e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33619,7 +38550,7 @@ void rate_He4_Ne18_to_p_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne19_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne19_to_p_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + n --> p + F19 @@ -33634,9 +38565,13 @@ void rate_n_Ne19_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.6732 + 4.34441 * tfactors.T913 + -1.71268 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.34441 * tfactors.T923i + -1.71268; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33651,9 +38586,13 @@ void rate_n_Ne19_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.353 + -1.58171 * tfactors.T913 + 0.0324472 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.58171 * tfactors.T923i + 0.0324472 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33668,7 +38607,7 @@ void rate_n_Ne19_to_p_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne19_to_He4_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + n --> He4 + O16 @@ -33683,9 +38622,13 @@ void rate_n_Ne19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 17.6409 + 1.70736 * tfactors.T913 + -0.132579 * tfactors.T9 + 0.00454218 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.70736 * tfactors.T923i + -0.132579 + (5.0/3.0) * 0.00454218 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33700,7 +38643,7 @@ void rate_n_Ne19_to_He4_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne19 + He4 --> p + Na22 @@ -33715,9 +38658,13 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.1874 + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33732,7 +38679,7 @@ void rate_He4_Ne19_to_p_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + n --> He4 + O17 @@ -33747,9 +38694,13 @@ void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 4.7377 + -20.6002 * tfactors.T9i + 12.6501 * tfactors.T913 + -1.10938 * tfactors.T9 + 0.0696232 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.6002 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 12.6501 * tfactors.T923i + -1.10938 + (5.0/3.0) * 0.0696232 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33764,9 +38715,13 @@ void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 10.3902 + -15.3502 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.3502 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33781,9 +38736,13 @@ void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 43.5553 + -6.80024 * tfactors.T9i + -39.918 * tfactors.T913i + 0.227017 * tfactors.T9 + -0.900234 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.80024 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.918 * tfactors.T943i + 0.227017 + (5.0/3.0) * -0.900234 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33798,7 +38757,7 @@ void rate_n_Ne20_to_He4_O17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + p --> He4 + F17 @@ -33813,9 +38772,13 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33830,7 +38793,7 @@ void rate_p_Ne20_to_He4_F17_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> n + Mg23 @@ -33845,9 +38808,13 @@ void rate_He4_Ne20_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.9544 + -83.7215 * tfactors.T9i + 1.83199 * tfactors.T913 + -0.290485 * tfactors.T9 + 0.0242929 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 83.7215 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.83199 * tfactors.T923i + -0.290485 + (5.0/3.0) * 0.0242929 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33862,7 +38829,7 @@ void rate_He4_Ne20_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> p + Na23 @@ -33877,9 +38844,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.37772 + -29.8896 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.8896 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33894,9 +38865,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.227472 + -29.4348 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.4348 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33911,9 +38886,13 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.1852 + -27.5738 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.5738 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33928,7 +38907,7 @@ void rate_He4_Ne20_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne20_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne20_to_C12_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + He4 --> C12 + C12 @@ -33943,9 +38922,13 @@ void rate_He4_Ne20_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 61.4748 + -53.6267 * tfactors.T9i + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.6267 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33960,7 +38943,7 @@ void rate_He4_Ne20_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_Ne20_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_Ne20_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + C12 --> p + P31 @@ -33975,9 +38958,13 @@ void rate_C12_Ne20_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -268.136 + -38.7624 * tfactors.T9i + 361.154 * tfactors.T913i + -92.643 * tfactors.T913 + -9.98738 * tfactors.T9 + 0.892737 * tfactors.T953 + 161.042 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 38.7624 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 361.154 * tfactors.T943i + (1.0/3.0) * -92.643 * tfactors.T923i + -9.98738 + (5.0/3.0) * 0.892737 * tfactors.T923 + 161.042 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -33992,7 +38979,7 @@ void rate_C12_Ne20_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_C12_Ne20_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_C12_Ne20_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne20 + C12 --> He4 + Si28 @@ -34007,9 +38994,13 @@ void rate_C12_Ne20_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -308.905 + -47.2175 * tfactors.T9i + 514.197 * tfactors.T913i + -200.896 * tfactors.T913 + -6.42713 * tfactors.T9 + 0.758256 * tfactors.T953 + 236.359 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.2175 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 514.197 * tfactors.T943i + (1.0/3.0) * -200.896 * tfactors.T923i + -6.42713 + (5.0/3.0) * 0.758256 * tfactors.T923 + 236.359 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34024,7 +39015,7 @@ void rate_C12_Ne20_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + n --> He4 + O18 @@ -34039,9 +39030,13 @@ void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 1.11027 + -7.35566 * tfactors.T9i + 11.656 * tfactors.T913 + -1.24869 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.35566 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.656 * tfactors.T923i + -1.24869 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34055,8 +39050,12 @@ void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr // nacrn ln_set_rate = 2.59673 + 0.0033365 * tfactors.T9i; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0033365 * tfactors.T9i * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34071,9 +39070,13 @@ void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.28452 + -0.331353 * tfactors.T9i + 6.51299 * tfactors.T913 + -0.334277 * tfactors.T9 + 2.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.331353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.51299 * tfactors.T923i + -0.334277 + 2.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34088,7 +39091,7 @@ void rate_n_Ne21_to_He4_O18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne21_to_n_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + p --> n + Na21 @@ -34103,9 +39106,13 @@ void rate_p_Ne21_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.9167 + -50.247 * tfactors.T9i + 2.17917 * tfactors.T913 + -0.303135 * tfactors.T9 + 0.019321 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.247 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.17917 * tfactors.T923i + -0.303135 + (5.0/3.0) * 0.019321 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34120,7 +39127,7 @@ void rate_p_Ne21_to_n_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne21_to_He4_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + p --> He4 + F18 @@ -34135,9 +39142,13 @@ void rate_p_Ne21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 50.6536 + -22.049 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.049 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34152,7 +39163,7 @@ void rate_p_Ne21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne21_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne21_to_n_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne21 + He4 --> n + Mg24 @@ -34167,9 +39178,13 @@ void rate_He4_Ne21_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.26831 + -13.2638 * tfactors.T9i + 18.0748 * tfactors.T913 + -0.981883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.2638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0748 * tfactors.T923i + -0.981883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34184,9 +39199,13 @@ void rate_He4_Ne21_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.9762 + -46.88 * tfactors.T913i + -0.536629 * tfactors.T913 + 0.144715 * tfactors.T9 + -0.197624 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -46.88 * tfactors.T943i + (1.0/3.0) * -0.536629 * tfactors.T923i + 0.144715 + (5.0/3.0) * -0.197624 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34201,7 +39220,7 @@ void rate_He4_Ne21_to_n_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne22_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne22_to_n_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + p --> n + Na22 @@ -34216,9 +39235,13 @@ void rate_p_Ne22_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.5948 + -42.0547 * tfactors.T9i + -0.0514777 * tfactors.T913 + 0.0274055 * tfactors.T9 + -0.00690277 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 42.0547 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.0514777 * tfactors.T923i + 0.0274055 + (5.0/3.0) * -0.00690277 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34233,7 +39256,7 @@ void rate_p_Ne22_to_n_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + p --> He4 + F19 @@ -34248,9 +39271,13 @@ void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 53.5304 + -65.1991 * tfactors.T9i + -34.5008 * tfactors.T913i + 56.9316 * tfactors.T913 + 2.09613 * tfactors.T9 + -32.496 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.1991 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.5008 * tfactors.T943i + (1.0/3.0) * 56.9316 * tfactors.T923i + 2.09613 + (5.0/3.0) * -32.496 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34265,9 +39292,13 @@ void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 29432.5 + -152.444 * tfactors.T9i + 12625.1 * tfactors.T913i + -49107.1 * tfactors.T913 + 9227.53 * tfactors.T9 + -2086.65 * tfactors.T953 + 14520.2 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 152.444 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 12625.1 * tfactors.T943i + (1.0/3.0) * -49107.1 * tfactors.T923i + 9227.53 + (5.0/3.0) * -2086.65 * tfactors.T923 + 14520.2 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34282,9 +39313,13 @@ void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 54.7912 + -22.2627 * tfactors.T9i + -38.7722 * tfactors.T913i + -13.3654 * tfactors.T913 + 0.863648 * tfactors.T9 + -0.0451491 * tfactors.T953 + 1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.2627 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.7722 * tfactors.T943i + (1.0/3.0) * -13.3654 * tfactors.T923i + 0.863648 + (5.0/3.0) * -0.0451491 * tfactors.T923 + 1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34299,7 +39334,7 @@ void rate_p_Ne22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ne22 + He4 --> n + Mg25 @@ -34314,9 +39349,13 @@ void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -27.5027 + -7.38607 * tfactors.T9i + 35.987 * tfactors.T913 + -4.12183 * tfactors.T9 + 0.263326 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.38607 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.987 * tfactors.T923i + -4.12183 + (5.0/3.0) * 0.263326 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34331,9 +39370,13 @@ void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -10.4729 + -5.55032 * tfactors.T9i + 15.4898 * tfactors.T913 + -30.8154 * tfactors.T9 + -3.0 * tfactors.T953 + 2.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.55032 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 15.4898 * tfactors.T923i + -30.8154 + (5.0/3.0) * -3.0 * tfactors.T923 + 2.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34348,9 +39391,13 @@ void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -52.326 + -5.55032 * tfactors.T9i + 88.2725 * tfactors.T913 + -40.1578 * tfactors.T9 + -3.0 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.55032 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 88.2725 * tfactors.T923i + -40.1578 + (5.0/3.0) * -3.0 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34365,7 +39412,7 @@ void rate_He4_Ne22_to_n_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na21_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na21_to_p_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + n --> p + Ne21 @@ -34380,9 +39427,13 @@ void rate_n_Na21_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.9167 + 2.17917 * tfactors.T913 + -0.303135 * tfactors.T9 + 0.019321 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.17917 * tfactors.T923i + -0.303135 + (5.0/3.0) * 0.019321 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34397,7 +39448,7 @@ void rate_n_Na21_to_p_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na21_to_He4_F18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + n --> He4 + F18 @@ -34412,9 +39463,13 @@ void rate_n_Na21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.7482 + 1.06229 * tfactors.T913 + 0.212448 * tfactors.T9 + -0.020685 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.06229 * tfactors.T923i + 0.212448 + (5.0/3.0) * -0.020685 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34429,7 +39484,7 @@ void rate_n_Na21_to_He4_F18_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + p --> He4 + Ne18 @@ -34444,9 +39499,13 @@ void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.8123 + -36.3851 * tfactors.T9i + 8.5632e-08 * tfactors.T913i + 24.8579 * tfactors.T913 + 0.0823845 * tfactors.T9 + -0.365374 * tfactors.T953 + -2.21415e-06 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.3851 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.5632e-08 * tfactors.T943i + (1.0/3.0) * 24.8579 * tfactors.T923i + 0.0823845 + (5.0/3.0) * -0.365374 * tfactors.T923 + -2.21415e-06 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34461,9 +39520,13 @@ void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -22.6701 + -40.8761 * tfactors.T9i + 4.73034e-07 * tfactors.T913i + 36.29 * tfactors.T913 + -6.56565 * tfactors.T9 + -2.96287e-06 * tfactors.T953 + -9.00373e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.8761 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 4.73034e-07 * tfactors.T943i + (1.0/3.0) * 36.29 * tfactors.T923i + -6.56565 + (5.0/3.0) * -2.96287e-06 * tfactors.T923 + -9.00373e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34478,9 +39541,13 @@ void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -37.6291 + -34.4844 * tfactors.T9i + 7.09521e-06 * tfactors.T913i + 34.1789 * tfactors.T913 + -1.72974 * tfactors.T9 + -0.0395081 * tfactors.T953 + -7.82759e-07 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.4844 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 7.09521e-06 * tfactors.T943i + (1.0/3.0) * 34.1789 * tfactors.T923i + -1.72974 + (5.0/3.0) * -0.0395081 * tfactors.T923 + -7.82759e-07 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34495,7 +39562,7 @@ void rate_p_Na21_to_He4_Ne18_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na21_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na21_to_p_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na21 + He4 --> p + Mg24 @@ -34510,9 +39577,13 @@ void rate_He4_Na21_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 39.8144 + -49.9621 * tfactors.T913i + 5.90498 * tfactors.T913 + -1.6598 * tfactors.T9 + 0.117817 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -49.9621 * tfactors.T943i + (1.0/3.0) * 5.90498 * tfactors.T923i + -1.6598 + (5.0/3.0) * 0.117817 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34527,7 +39598,7 @@ void rate_He4_Na21_to_p_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na22_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na22_to_p_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + n --> p + Ne22 @@ -34542,9 +39613,13 @@ void rate_n_Na22_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.6489 + -0.0514777 * tfactors.T913 + 0.0274055 * tfactors.T9 + -0.00690277 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.0514777 * tfactors.T923i + 0.0274055 + (5.0/3.0) * -0.00690277 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34559,7 +39634,7 @@ void rate_n_Na22_to_p_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Na22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Na22_to_He4_F19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + n --> He4 + F19 @@ -34574,9 +39649,13 @@ void rate_n_Na22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 6.59038 + 6.22036 * tfactors.T913 + -0.0209891 * tfactors.T9 + -0.0689843 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.22036 * tfactors.T923i + -0.0209891 + (5.0/3.0) * -0.0689843 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34591,9 +39670,13 @@ void rate_n_Na22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.0061 + -0.0532251 * tfactors.T913 + 1.00044 * tfactors.T9 + -0.13238 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.0532251 * tfactors.T923i + 1.00044 + (5.0/3.0) * -0.13238 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34608,7 +39691,7 @@ void rate_n_Na22_to_He4_F19_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na22_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na22_to_He4_Ne19_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + p --> He4 + Ne19 @@ -34623,9 +39706,13 @@ void rate_p_Na22_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 43.101 + -24.0192 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.0192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34640,7 +39727,7 @@ void rate_p_Na22_to_He4_Ne19_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na22_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na22_to_n_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + He4 --> n + Al25 @@ -34655,9 +39742,13 @@ void rate_He4_Na22_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 7.59058 + -22.1956 * tfactors.T9i + 2.92382 * tfactors.T913 + 0.706669 * tfactors.T9 + -0.0950292 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.1956 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.92382 * tfactors.T923i + 0.706669 + (5.0/3.0) * -0.0950292 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34672,7 +39763,7 @@ void rate_He4_Na22_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na22_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na22_to_p_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na22 + He4 --> p + Mg25 @@ -34687,9 +39778,13 @@ void rate_He4_Na22_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 44.973 + -50.0924 * tfactors.T913i + 0.807739 * tfactors.T913 + -0.956029 * tfactors.T9 + 0.0793321 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.0924 * tfactors.T943i + (1.0/3.0) * 0.807739 * tfactors.T923i + -0.956029 + (5.0/3.0) * 0.0793321 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34704,7 +39799,7 @@ void rate_He4_Na22_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_n_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> n + Mg23 @@ -34719,9 +39814,13 @@ void rate_p_Na23_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4638 + -56.1542 * tfactors.T9i + 0.993488 * tfactors.T913 + -0.257094 * tfactors.T9 + 0.0284334 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 56.1542 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.993488 * tfactors.T923i + -0.257094 + (5.0/3.0) * 0.0284334 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34736,7 +39835,7 @@ void rate_p_Na23_to_n_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> He4 + Ne20 @@ -34751,9 +39850,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34768,9 +39871,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34785,9 +39892,13 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34802,7 +39913,7 @@ void rate_p_Na23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Na23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Na23_to_C12_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + p --> C12 + C12 @@ -34817,9 +39928,13 @@ void rate_p_Na23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9438 + -26.0184 * tfactors.T9i + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.0184 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34834,7 +39949,7 @@ void rate_p_Na23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + He4 --> n + Al26 @@ -34849,9 +39964,13 @@ void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.5219 + -34.8285 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.8285 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34866,9 +39985,13 @@ void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.4292 + -34.4845 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.4845 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34883,9 +40006,13 @@ void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.4506 + -34.4184 * tfactors.T9i + 5.07134 * tfactors.T913 + -0.557537 * tfactors.T9 + 0.0451737 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.4184 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.07134 * tfactors.T923i + -0.557537 + (5.0/3.0) * 0.0451737 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34900,7 +40027,7 @@ void rate_He4_Na23_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Na23_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Na23_to_p_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Na23 + He4 --> p + Mg26 @@ -34915,9 +40042,13 @@ void rate_He4_Na23_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 44.527 + -50.2042 * tfactors.T913i + 1.76141 * tfactors.T913 + -1.36813 * tfactors.T9 + 0.123087 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * 1.76141 * tfactors.T923i + -1.36813 + (5.0/3.0) * 0.123087 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34932,7 +40063,7 @@ void rate_He4_Na23_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> p + Na23 @@ -34947,9 +40078,13 @@ void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4638 + 0.993488 * tfactors.T913 + -0.257094 * tfactors.T9 + 0.0284334 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.993488 * tfactors.T923i + -0.257094 + (5.0/3.0) * 0.0284334 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34964,7 +40099,7 @@ void rate_n_Mg23_to_p_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> He4 + Ne20 @@ -34979,9 +40114,13 @@ void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.7448 + 1.83199 * tfactors.T913 + -0.290485 * tfactors.T9 + 0.0242929 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.83199 * tfactors.T923i + -0.290485 + (5.0/3.0) * 0.0242929 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -34996,7 +40135,7 @@ void rate_n_Mg23_to_He4_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + n --> C12 + C12 @@ -35011,9 +40150,13 @@ void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.8267 + 11.4826 * tfactors.T913 + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 11.4826 * tfactors.T923i + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35028,7 +40171,7 @@ void rate_n_Mg23_to_C12_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg23_to_p_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg23_to_p_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg23 + He4 --> p + Al26 @@ -35043,9 +40186,13 @@ void rate_He4_Mg23_to_p_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 46.215 + -53.203 * tfactors.T913i + 0.71292 * tfactors.T913 + -0.892548 * tfactors.T9 + 0.0709813 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.203 * tfactors.T943i + (1.0/3.0) * 0.71292 * tfactors.T923i + -0.892548 + (5.0/3.0) * 0.0709813 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35060,7 +40207,7 @@ void rate_He4_Mg23_to_p_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg24_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg24_to_He4_Ne21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + n --> He4 + Ne21 @@ -35075,9 +40222,13 @@ void rate_n_Mg24_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -4.69602 + -42.9133 * tfactors.T9i + 18.0748 * tfactors.T913 + -0.981883 * tfactors.T9 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 42.9133 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0748 * tfactors.T923i + -0.981883 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35092,9 +40243,13 @@ void rate_n_Mg24_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 46.5485 + -29.6495 * tfactors.T9i + -46.88 * tfactors.T913i + -0.536629 * tfactors.T913 + 0.144715 * tfactors.T9 + -0.197624 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.6495 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.88 * tfactors.T943i + (1.0/3.0) * -0.536629 * tfactors.T923i + 0.144715 + (5.0/3.0) * -0.197624 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35109,7 +40264,7 @@ void rate_n_Mg24_to_He4_Ne21_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + p --> He4 + Na21 @@ -35124,9 +40279,13 @@ void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 42.3867 + -79.897 * tfactors.T9i + -49.9621 * tfactors.T913i + 5.90498 * tfactors.T913 + -1.6598 * tfactors.T9 + 0.117817 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 79.897 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -49.9621 * tfactors.T943i + (1.0/3.0) * 5.90498 * tfactors.T923i + -1.6598 + (5.0/3.0) * 0.117817 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35141,7 +40300,7 @@ void rate_p_Mg24_to_He4_Na21_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> p + Al27 @@ -35156,9 +40315,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.2862 + -19.5422 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.5422 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35173,9 +40336,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.44575 + -22.8216 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.8216 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35190,9 +40357,13 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 30.0397 + -18.5791 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.5791 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35207,7 +40378,7 @@ void rate_He4_Mg24_to_p_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg24_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg24_to_C12_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg24 + He4 --> C12 + O16 @@ -35222,9 +40393,13 @@ void rate_He4_Mg24_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 49.5738 + -78.202 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 78.202 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35239,7 +40414,7 @@ void rate_He4_Mg24_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + n --> He4 + Ne22 @@ -35254,9 +40429,13 @@ void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.0701 + 15.4898 * tfactors.T913 + -30.8154 * tfactors.T9 + -3.0 * tfactors.T953 + 2.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 15.4898 * tfactors.T923i + -30.8154 + (5.0/3.0) * -3.0 * tfactors.T923 + 2.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35271,9 +40450,13 @@ void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -52.9232 + 88.2725 * tfactors.T913 + -40.1578 * tfactors.T9 + -3.0 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 88.2725 * tfactors.T923i + -40.1578 + (5.0/3.0) * -3.0 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35288,9 +40471,13 @@ void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -28.0999 + -1.83575 * tfactors.T9i + 35.987 * tfactors.T913 + -4.12183 * tfactors.T9 + 0.263326 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.83575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.987 * tfactors.T923i + -4.12183 + (5.0/3.0) * 0.263326 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35305,7 +40492,7 @@ void rate_n_Mg25_to_He4_Ne22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg25_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg25_to_n_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + p --> n + Al25 @@ -35320,9 +40507,13 @@ void rate_p_Mg25_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.4104 + -58.7072 * tfactors.T9i + 2.28536 * tfactors.T913 + -0.38512 * tfactors.T9 + 0.0288056 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.7072 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.28536 * tfactors.T923i + -0.38512 + (5.0/3.0) * 0.0288056 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35337,7 +40528,7 @@ void rate_p_Mg25_to_n_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg25_to_He4_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + p --> He4 + Na22 @@ -35352,9 +40543,13 @@ void rate_p_Mg25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 46.3217 + -36.5117 * tfactors.T9i + -50.0924 * tfactors.T913i + 0.807739 * tfactors.T913 + -0.956029 * tfactors.T9 + 0.0793321 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.5117 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -50.0924 * tfactors.T943i + (1.0/3.0) * 0.807739 * tfactors.T923i + -0.956029 + (5.0/3.0) * 0.0793321 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35369,7 +40564,7 @@ void rate_p_Mg25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg25_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg25_to_n_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg25 + He4 --> n + Si28 @@ -35384,9 +40579,13 @@ void rate_He4_Mg25_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.7613 + -53.415 * tfactors.T913i + -1.46489 * tfactors.T913 + 1.7777 * tfactors.T9 + -0.903499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.415 * tfactors.T943i + (1.0/3.0) * -1.46489 * tfactors.T923i + 1.7777 + (5.0/3.0) * -0.903499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35401,9 +40600,13 @@ void rate_He4_Mg25_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 38.337 + -53.416 * tfactors.T913i + 8.01209 * tfactors.T913 + -2.64791 * tfactors.T9 + 0.218637 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.416 * tfactors.T943i + (1.0/3.0) * 8.01209 * tfactors.T923i + -2.64791 + (5.0/3.0) * 0.218637 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35418,7 +40621,7 @@ void rate_He4_Mg25_to_n_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 + p --> n + Al26 @@ -35433,9 +40636,13 @@ void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.5366 + -55.5463 * tfactors.T9i + 7.36773 * tfactors.T913 + -2.42424 * tfactors.T9 + 0.313743 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.5463 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.36773 * tfactors.T923i + -2.42424 + (5.0/3.0) * 0.313743 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35450,9 +40657,13 @@ void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.9629 + -55.7499 * tfactors.T9i + 3.87515 * tfactors.T913 + 0.228327 * tfactors.T9 + -0.045872 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.7499 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.87515 * tfactors.T923i + 0.228327 + (5.0/3.0) * -0.045872 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35467,9 +40678,13 @@ void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.8989 + -55.6072 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.6072 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35484,7 +40699,7 @@ void rate_p_Mg26_to_n_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mg26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mg26_to_He4_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 + p --> He4 + Na23 @@ -35499,9 +40714,13 @@ void rate_p_Mg26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 47.1157 + -21.128 * tfactors.T9i + -50.2042 * tfactors.T913i + 1.76141 * tfactors.T913 + -1.36813 * tfactors.T9 + 0.123087 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.128 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -50.2042 * tfactors.T943i + (1.0/3.0) * 1.76141 * tfactors.T923i + -1.36813 + (5.0/3.0) * 0.123087 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35516,7 +40735,7 @@ void rate_p_Mg26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mg26_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mg26_to_n_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mg26 + He4 --> n + Si29 @@ -35531,9 +40750,13 @@ void rate_He4_Mg26_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 45.8397 + -53.505 * tfactors.T913i + 0.045598 * tfactors.T913 + -0.194481 * tfactors.T9 + -0.0748153 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -53.505 * tfactors.T943i + (1.0/3.0) * 0.045598 * tfactors.T923i + -0.194481 + (5.0/3.0) * -0.0748153 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35548,9 +40771,13 @@ void rate_He4_Mg26_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 15.7057 + -18.73 * tfactors.T9i + -9.54056 * tfactors.T913 + 4.71712 * tfactors.T9 + -0.461053 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.73 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -9.54056 * tfactors.T923i + 4.71712 + (5.0/3.0) * -0.461053 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35565,7 +40792,7 @@ void rate_He4_Mg26_to_n_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al25_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al25_to_p_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 + n --> p + Mg25 @@ -35580,9 +40807,13 @@ void rate_n_Al25_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.4104 + 2.28536 * tfactors.T913 + -0.38512 * tfactors.T9 + 0.0288056 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.28536 * tfactors.T923i + -0.38512 + (5.0/3.0) * 0.0288056 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35597,7 +40828,7 @@ void rate_n_Al25_to_p_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al25_to_He4_Na22_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 + n --> He4 + Na22 @@ -35612,9 +40843,13 @@ void rate_n_Al25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.93927 + 2.92382 * tfactors.T913 + 0.706669 * tfactors.T9 + -0.0950292 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.92382 * tfactors.T923i + 0.706669 + (5.0/3.0) * -0.0950292 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35629,7 +40864,7 @@ void rate_n_Al25_to_He4_Na22_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al25_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al25_to_p_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al25 + He4 --> p + Si28 @@ -35644,9 +40879,13 @@ void rate_He4_Al25_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 47.6167 + -56.3424 * tfactors.T913i + 0.553763 * tfactors.T913 + -0.84072 * tfactors.T9 + 0.0634219 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.3424 * tfactors.T943i + (1.0/3.0) * 0.553763 * tfactors.T923i + -0.84072 + (5.0/3.0) * 0.0634219 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35661,7 +40900,7 @@ void rate_He4_Al25_to_p_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + n --> p + Mg26 @@ -35676,9 +40915,13 @@ void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.565 + -0.203581 * tfactors.T9i + 3.87515 * tfactors.T913 + 0.228327 * tfactors.T9 + -0.045872 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.203581 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.87515 * tfactors.T923i + 0.228327 + (5.0/3.0) * -0.045872 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35693,9 +40936,13 @@ void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.501 + -0.0608268 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0608268 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35710,9 +40957,13 @@ void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.1387 + 7.36773 * tfactors.T913 + -2.42424 * tfactors.T9 + 0.313743 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 7.36773 * tfactors.T923i + -2.42424 + (5.0/3.0) * 0.313743 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35727,7 +40978,7 @@ void rate_n_Al26_to_p_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + n --> He4 + Na23 @@ -35742,9 +40993,13 @@ void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.62 + -0.0661138 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.0661138 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35759,9 +41014,13 @@ void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.6414 + 5.07134 * tfactors.T913 + -0.557537 * tfactors.T9 + 0.0451737 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.07134 * tfactors.T923i + -0.557537 + (5.0/3.0) * 0.0451737 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35776,9 +41035,13 @@ void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.7127 + -0.41015 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.41015 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35793,7 +41056,7 @@ void rate_n_Al26_to_He4_Na23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al26_to_He4_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al26_to_He4_Mg23_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + p --> He4 + Mg23 @@ -35808,9 +41071,13 @@ void rate_p_Al26_to_He4_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 46.4058 + -21.7293 * tfactors.T9i + -53.203 * tfactors.T913i + 0.71292 * tfactors.T913 + -0.892548 * tfactors.T9 + 0.0709813 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.7293 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.203 * tfactors.T943i + (1.0/3.0) * 0.71292 * tfactors.T923i + -0.892548 + (5.0/3.0) * 0.0709813 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35825,7 +41092,7 @@ void rate_p_Al26_to_He4_Mg23_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al26_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al26_to_n_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + He4 --> n + P29 @@ -35840,9 +41107,13 @@ void rate_He4_Al26_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -42.1718 + -10.4914 * tfactors.T9i + 41.9938 * tfactors.T913 + -4.54859 * tfactors.T9 + 0.243841 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.4914 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 41.9938 * tfactors.T923i + -4.54859 + (5.0/3.0) * 0.243841 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35857,7 +41128,7 @@ void rate_He4_Al26_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al26_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al26_to_p_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al26 + He4 --> p + Si29 @@ -35872,9 +41143,13 @@ void rate_He4_Al26_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 47.7092 + -56.4422 * tfactors.T913i + 0.705353 * tfactors.T913 + -0.957427 * tfactors.T9 + 0.0756045 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.4422 * tfactors.T943i + (1.0/3.0) * 0.705353 * tfactors.T923i + -0.957427 + (5.0/3.0) * 0.0756045 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35889,7 +41164,7 @@ void rate_He4_Al26_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> He4 + Mg24 @@ -35904,9 +41179,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35921,9 +41200,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35938,9 +41221,13 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35955,7 +41242,7 @@ void rate_p_Al27_to_He4_Mg24_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Al27_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Al27_to_C12_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + p --> C12 + O16 @@ -35970,9 +41257,13 @@ void rate_p_Al27_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 68.9829 + -59.8017 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.8017 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -35987,7 +41278,7 @@ void rate_p_Al27_to_C12_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al27_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al27_to_n_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + He4 --> n + P30 @@ -36002,9 +41293,13 @@ void rate_He4_Al27_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 6.09163 + -30.667 * tfactors.T9i + 5.40982 * tfactors.T913 + -0.265676 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.667 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.40982 * tfactors.T923i + -0.265676 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36019,9 +41314,13 @@ void rate_He4_Al27_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 11.3074 + -30.667 * tfactors.T9i + 0.311974 * tfactors.T913 + -2.02044 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.667 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.311974 * tfactors.T923i + -2.02044; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36036,7 +41335,7 @@ void rate_He4_Al27_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Al27_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Al27_to_p_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Al27 + He4 --> p + Si30 @@ -36051,9 +41350,13 @@ void rate_He4_Al27_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 47.4856 + -56.5351 * tfactors.T913i + 1.60477 * tfactors.T913 + -1.40594 * tfactors.T9 + 0.127353 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * 1.60477 * tfactors.T923i + -1.40594 + (5.0/3.0) * 0.127353 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36068,7 +41371,7 @@ void rate_He4_Al27_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si28_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si28_to_He4_Mg25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + n --> He4 + Mg25 @@ -36083,9 +41386,13 @@ void rate_n_Si28_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 48.7694 + -30.7983 * tfactors.T9i + -53.415 * tfactors.T913i + -1.46489 * tfactors.T913 + 1.7777 * tfactors.T9 + -0.903499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.7983 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.415 * tfactors.T943i + (1.0/3.0) * -1.46489 * tfactors.T923i + 1.7777 + (5.0/3.0) * -0.903499 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36100,9 +41407,13 @@ void rate_n_Si28_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 41.3451 + -30.7983 * tfactors.T9i + -53.416 * tfactors.T913i + 8.01209 * tfactors.T913 + -2.64791 * tfactors.T9 + 0.218637 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.7983 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.416 * tfactors.T943i + (1.0/3.0) * 8.01209 * tfactors.T923i + -2.64791 + (5.0/3.0) * 0.218637 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36117,7 +41428,7 @@ void rate_n_Si28_to_He4_Mg25_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si28_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si28_to_He4_Al25_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + p --> He4 + Al25 @@ -36132,9 +41443,13 @@ void rate_p_Si28_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 50.6248 + -89.5005 * tfactors.T9i + -56.3424 * tfactors.T913i + 0.553763 * tfactors.T913 + -0.84072 * tfactors.T9 + 0.0634219 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.5005 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.3424 * tfactors.T943i + (1.0/3.0) * 0.553763 * tfactors.T923i + -0.84072 + (5.0/3.0) * 0.0634219 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36149,7 +41464,7 @@ void rate_p_Si28_to_He4_Al25_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> p + P31 @@ -36164,9 +41479,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.4595 + -24.112 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.112 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36181,9 +41500,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -11.4335 + -25.6606 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.6606 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36198,9 +41521,13 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.3424 + -22.2348 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.2348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36215,7 +41542,7 @@ void rate_He4_Si28_to_p_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_C12_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> C12 + Ne20 @@ -36230,9 +41557,13 @@ void rate_He4_Si28_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -307.762 + -186.722 * tfactors.T9i + 514.197 * tfactors.T913i + -200.896 * tfactors.T913 + -6.42713 * tfactors.T9 + 0.758256 * tfactors.T953 + 236.359 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 186.722 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 514.197 * tfactors.T943i + (1.0/3.0) * -200.896 * tfactors.T923i + -6.42713 + (5.0/3.0) * 0.758256 * tfactors.T923 + 236.359 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36247,7 +41578,7 @@ void rate_He4_Si28_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si28_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si28_to_O16_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si28 + He4 --> O16 + O16 @@ -36262,9 +41593,13 @@ void rate_He4_Si28_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, a ln_set_rate = 97.7904 + -111.595 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 111.595 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36279,7 +41614,7 @@ void rate_He4_Si28_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, a template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Si29_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Si29_to_He4_Mg26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + n --> He4 + Mg26 @@ -36294,9 +41629,13 @@ void rate_n_Si29_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 46.369 + -0.394553 * tfactors.T9i + -53.505 * tfactors.T913i + 0.045598 * tfactors.T913 + -0.194481 * tfactors.T9 + -0.0748153 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.394553 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -53.505 * tfactors.T943i + (1.0/3.0) * 0.045598 * tfactors.T923i + -0.194481 + (5.0/3.0) * -0.0748153 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36311,9 +41650,13 @@ void rate_n_Si29_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.235 + -19.1246 * tfactors.T9i + -9.54056 * tfactors.T913 + 4.71712 * tfactors.T9 + -0.461053 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.1246 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -9.54056 * tfactors.T923i + 4.71712 + (5.0/3.0) * -0.461053 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36328,7 +41671,7 @@ void rate_n_Si29_to_He4_Mg26_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si29_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si29_to_n_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + p --> n + P29 @@ -36343,9 +41686,13 @@ void rate_p_Si29_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.5351 + -66.4331 * tfactors.T9i + 1.48018 * tfactors.T913 + -0.177129 * tfactors.T9 + 0.0127163 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 66.4331 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.48018 * tfactors.T923i + -0.177129 + (5.0/3.0) * 0.0127163 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36360,7 +41707,7 @@ void rate_p_Si29_to_n_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si29_to_He4_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + p --> He4 + Al26 @@ -36375,9 +41722,13 @@ void rate_p_Si29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 50.6364 + -55.9416 * tfactors.T9i + -56.4422 * tfactors.T913i + 0.705353 * tfactors.T913 + -0.957427 * tfactors.T9 + 0.0756045 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.9416 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.4422 * tfactors.T943i + (1.0/3.0) * 0.705353 * tfactors.T923i + -0.957427 + (5.0/3.0) * 0.0756045 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36392,7 +41743,7 @@ void rate_p_Si29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si29_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si29_to_n_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + He4 --> n + S32 @@ -36407,9 +41758,13 @@ void rate_He4_Si29_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -2.87932 + -17.7056 * tfactors.T9i + 9.48125 * tfactors.T913 + 0.4472 * tfactors.T9 + -0.119237 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.7056 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 9.48125 * tfactors.T923i + 0.4472 + (5.0/3.0) * -0.119237 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36424,7 +41779,7 @@ void rate_He4_Si29_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si29_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si29_to_p_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si29 + He4 --> p + P32 @@ -36439,9 +41794,13 @@ void rate_He4_Si29_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 117.4 + -32.3767 * tfactors.T9i + 160.025 * tfactors.T913i + -285.126 * tfactors.T913 + 16.3226 * tfactors.T9 + -0.928477 * tfactors.T953 + 138.458 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 32.3767 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 160.025 * tfactors.T943i + (1.0/3.0) * -285.126 * tfactors.T923i + 16.3226 + (5.0/3.0) * -0.928477 * tfactors.T923 + 138.458 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36456,7 +41815,7 @@ void rate_He4_Si29_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si30_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si30_to_n_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + p --> n + P30 @@ -36471,9 +41830,13 @@ void rate_p_Si30_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.4345 + -58.1931 * tfactors.T9i + 1.88379 * tfactors.T913 + -0.330243 * tfactors.T9 + 0.0239836 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.1931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.88379 * tfactors.T923i + -0.330243 + (5.0/3.0) * 0.0239836 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36488,7 +41851,7 @@ void rate_p_Si30_to_n_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si30_to_He4_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + p --> He4 + Al27 @@ -36503,9 +41866,13 @@ void rate_p_Si30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 50.5056 + -27.5284 * tfactors.T9i + -56.5351 * tfactors.T913i + 1.60477 * tfactors.T913 + -1.40594 * tfactors.T9 + 0.127353 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.5284 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -56.5351 * tfactors.T943i + (1.0/3.0) * 1.60477 * tfactors.T923i + -1.40594 + (5.0/3.0) * 0.127353 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36520,7 +41887,7 @@ void rate_p_Si30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si30_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si30_to_n_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + He4 --> n + S33 @@ -36535,9 +41902,13 @@ void rate_He4_Si30_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 17.3228 + -40.5385 * tfactors.T9i + -0.725571 * tfactors.T913 + 0.430731 * tfactors.T9 + -0.0323663 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.5385 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.725571 * tfactors.T923i + 0.430731 + (5.0/3.0) * -0.0323663 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36552,7 +41923,7 @@ void rate_He4_Si30_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si30_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si30_to_p_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si30 + He4 --> p + P33 @@ -36567,9 +41938,13 @@ void rate_He4_Si30_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 81.0152 + -37.7526 * tfactors.T9i + 110.297 * tfactors.T913i + -193.863 * tfactors.T913 + 11.4977 * tfactors.T9 + -0.687235 * tfactors.T953 + 94.819 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.7526 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 110.297 * tfactors.T943i + (1.0/3.0) * -193.863 * tfactors.T923i + 11.4977 + (5.0/3.0) * -0.687235 * tfactors.T923 + 94.819 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36584,7 +41959,7 @@ void rate_He4_Si30_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si31_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si31_to_n_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 + p --> n + P31 @@ -36599,9 +41974,13 @@ void rate_p_Si31_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 80.5195 + -3.3832 * tfactors.T9i + 119.352 * tfactors.T913i + -198.709 * tfactors.T913 + 10.5994 * tfactors.T9 + -0.583506 * tfactors.T953 + 100.693 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.3832 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 119.352 * tfactors.T943i + (1.0/3.0) * -198.709 * tfactors.T923i + 10.5994 + (5.0/3.0) * -0.583506 * tfactors.T923 + 100.693 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36616,7 +41995,7 @@ void rate_p_Si31_to_n_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si31_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si31_to_n_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si31 + He4 --> n + S34 @@ -36631,9 +42010,13 @@ void rate_He4_Si31_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -5.10649 + -2.7438 * tfactors.T9i + -22.4045 * tfactors.T913i + 23.4647 * tfactors.T913 + -4.73922 * tfactors.T9 + 0.371237 * tfactors.T953 + 4.62837 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.7438 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -22.4045 * tfactors.T943i + (1.0/3.0) * 23.4647 * tfactors.T923i + -4.73922 + (5.0/3.0) * 0.371237 * tfactors.T923 + 4.62837 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36648,7 +42031,7 @@ void rate_He4_Si31_to_n_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Si32_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Si32_to_n_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si32 + p --> n + P32 @@ -36663,9 +42046,13 @@ void rate_p_Si32_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -32.8411 + -6.17898 * tfactors.T9i + -31.4944 * tfactors.T913i + 82.7906 * tfactors.T913 + -5.28792 * tfactors.T9 + 0.278753 * tfactors.T953 + -31.7623 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.17898 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.4944 * tfactors.T943i + (1.0/3.0) * 82.7906 * tfactors.T923i + -5.28792 + (5.0/3.0) * 0.278753 * tfactors.T923 + -31.7623 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36680,7 +42067,7 @@ void rate_p_Si32_to_n_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Si32_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Si32_to_n_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Si32 + He4 --> n + S35 @@ -36695,9 +42082,13 @@ void rate_He4_Si32_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -29.9932 + -10.223 * tfactors.T9i + 32.5444 * tfactors.T913 + -2.95994 * tfactors.T9 + 0.119682 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.223 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 32.5444 * tfactors.T923i + -2.95994 + (5.0/3.0) * 0.119682 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36712,7 +42103,7 @@ void rate_He4_Si32_to_n_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P29_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P29_to_p_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 + n --> p + Si29 @@ -36727,9 +42118,13 @@ void rate_n_P29_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.5351 + 1.48018 * tfactors.T913 + -0.177129 * tfactors.T9 + 0.0127163 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.48018 * tfactors.T923i + -0.177129 + (5.0/3.0) * 0.0127163 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36744,7 +42139,7 @@ void rate_n_P29_to_p_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P29_to_He4_Al26_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 + n --> He4 + Al26 @@ -36759,9 +42154,13 @@ void rate_n_P29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -39.2446 + 41.9938 * tfactors.T913 + -4.54859 * tfactors.T9 + 0.243841 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 41.9938 * tfactors.T923i + -4.54859 + (5.0/3.0) * 0.243841 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36776,7 +42175,7 @@ void rate_n_P29_to_He4_Al26_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P29_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P29_to_p_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P29 + He4 --> p + S32 @@ -36791,9 +42190,13 @@ void rate_He4_P29_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 50.2824 + -62.3802 * tfactors.T913i + 0.459085 * tfactors.T913 + -0.870169 * tfactors.T9 + 0.0631143 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.3802 * tfactors.T943i + (1.0/3.0) * 0.459085 * tfactors.T923i + -0.870169 + (5.0/3.0) * 0.0631143 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36808,7 +42211,7 @@ void rate_He4_P29_to_p_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P30_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P30_to_p_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + n --> p + Si30 @@ -36823,9 +42226,13 @@ void rate_n_P30_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.3359 + 1.88379 * tfactors.T913 + -0.330243 * tfactors.T9 + 0.0239836 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.88379 * tfactors.T923i + -0.330243 + (5.0/3.0) * 0.0239836 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36840,7 +42247,7 @@ void rate_n_P30_to_p_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P30_to_He4_Al27_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + n --> He4 + Al27 @@ -36855,9 +42262,13 @@ void rate_n_P30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 8.01303 + 0.0036935 * tfactors.T9i + 5.40982 * tfactors.T913 + -0.265676 * tfactors.T9 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0036935 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.40982 * tfactors.T923i + -0.265676 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36872,9 +42283,13 @@ void rate_n_P30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 13.2288 + 0.0036935 * tfactors.T9i + 0.311974 * tfactors.T913 + -2.02044 * tfactors.T9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.0036935 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.311974 * tfactors.T923i + -2.02044; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36889,7 +42304,7 @@ void rate_n_P30_to_He4_Al27_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P30_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P30_to_n_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + He4 --> n + Cl33 @@ -36904,9 +42319,13 @@ void rate_He4_P30_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 14.9462 + -56.2069 * tfactors.T9i + 1.33535 * tfactors.T913 + -0.149988 * tfactors.T9 + 0.0279218 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 56.2069 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.33535 * tfactors.T923i + -0.149988 + (5.0/3.0) * 0.0279218 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36921,7 +42340,7 @@ void rate_He4_P30_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P30_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P30_to_p_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P30 + He4 --> p + S33 @@ -36936,9 +42355,13 @@ void rate_He4_P30_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.813 + -62.4643 * tfactors.T913i + 0.492934 * tfactors.T913 + -0.841855 * tfactors.T9 + 0.059263 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.4643 * tfactors.T943i + (1.0/3.0) * 0.492934 * tfactors.T923i + -0.841855 + (5.0/3.0) * 0.059263 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36953,7 +42376,7 @@ void rate_He4_P30_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P31_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P31_to_p_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + n --> p + Si31 @@ -36968,9 +42391,13 @@ void rate_n_P31_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 81.2126 + -11.6108 * tfactors.T9i + 119.352 * tfactors.T913i + -198.709 * tfactors.T913 + 10.5994 * tfactors.T9 + -0.583506 * tfactors.T953 + 100.693 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.6108 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 119.352 * tfactors.T943i + (1.0/3.0) * -198.709 * tfactors.T923i + 10.5994 + (5.0/3.0) * -0.583506 * tfactors.T923 + 100.693 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -36985,7 +42412,7 @@ void rate_n_P31_to_p_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> He4 + Si28 @@ -37000,9 +42427,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37017,9 +42448,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37034,9 +42469,13 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37051,7 +42490,7 @@ void rate_p_P31_to_He4_Si28_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_C12_Ne20_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> C12 + Ne20 @@ -37066,9 +42505,13 @@ void rate_p_P31_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -266.452 + -156.019 * tfactors.T9i + 361.154 * tfactors.T913i + -92.643 * tfactors.T913 + -9.98738 * tfactors.T9 + 0.892737 * tfactors.T953 + 161.042 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 156.019 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 361.154 * tfactors.T943i + (1.0/3.0) * -92.643 * tfactors.T923i + -9.98738 + (5.0/3.0) * 0.892737 * tfactors.T923 + 161.042 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37083,7 +42526,7 @@ void rate_p_P31_to_C12_Ne20_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P31_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P31_to_O16_O16_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + p --> O16 + O16 @@ -37098,9 +42541,13 @@ void rate_p_P31_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 86.3501 + -88.8797 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 88.8797 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37115,7 +42562,7 @@ void rate_p_P31_to_O16_O16_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P31_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P31_to_n_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + He4 --> n + Cl34 @@ -37130,9 +42577,13 @@ void rate_He4_P31_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 16.9244 + -65.5365 * tfactors.T9i + -0.466069 * tfactors.T913 + 0.167169 * tfactors.T9 + -0.00537463 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.5365 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.466069 * tfactors.T923i + 0.167169 + (5.0/3.0) * -0.00537463 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37147,7 +42598,7 @@ void rate_He4_P31_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P31_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P31_to_p_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P31 + He4 --> p + S34 @@ -37162,9 +42613,13 @@ void rate_He4_P31_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 49.0993 + -62.5433 * tfactors.T913i + 1.69339 * tfactors.T913 + -1.27872 * tfactors.T9 + 0.106616 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -62.5433 * tfactors.T943i + (1.0/3.0) * 1.69339 * tfactors.T923i + -1.27872 + (5.0/3.0) * 0.106616 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37179,7 +42634,7 @@ void rate_He4_P31_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_P32_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_P32_to_p_Si32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + n --> p + Si32 @@ -37194,9 +42649,13 @@ void rate_n_P32_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -33.9397 + 0.296332 * tfactors.T9i + -31.4944 * tfactors.T913i + 82.7906 * tfactors.T913 + -5.28792 * tfactors.T9 + 0.278753 * tfactors.T953 + -31.7623 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -0.296332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.4944 * tfactors.T943i + (1.0/3.0) * 82.7906 * tfactors.T923i + -5.28792 + (5.0/3.0) * 0.278753 * tfactors.T923 + -31.7623 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37211,7 +42670,7 @@ void rate_n_P32_to_p_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P32_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P32_to_n_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + p --> n + S32 @@ -37226,9 +42685,13 @@ void rate_p_P32_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 82.294 + -3.56696 * tfactors.T9i + 124.605 * tfactors.T913i + -206.844 * tfactors.T913 + 11.0016 * tfactors.T9 + -0.612898 * tfactors.T953 + 104.905 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.56696 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 124.605 * tfactors.T943i + (1.0/3.0) * -206.844 * tfactors.T923i + 11.0016 + (5.0/3.0) * -0.612898 * tfactors.T923 + 104.905 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37243,7 +42706,7 @@ void rate_p_P32_to_n_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P32_to_He4_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + p --> He4 + Si29 @@ -37258,9 +42721,13 @@ void rate_p_P32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 118.233 + -3.89928 * tfactors.T9i + 160.025 * tfactors.T913i + -285.126 * tfactors.T913 + 16.3226 * tfactors.T9 + -0.928477 * tfactors.T953 + 138.458 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.89928 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 160.025 * tfactors.T943i + (1.0/3.0) * -285.126 * tfactors.T923i + 16.3226 + (5.0/3.0) * -0.928477 * tfactors.T923 + 138.458 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37275,7 +42742,7 @@ void rate_p_P32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P32_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P32_to_n_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + He4 --> n + Cl35 @@ -37290,9 +42757,13 @@ void rate_He4_P32_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -33.0327 + -10.8859 * tfactors.T9i + 35.1367 * tfactors.T913 + -3.30169 * tfactors.T9 + 0.150699 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.8859 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.1367 * tfactors.T923i + -3.30169 + (5.0/3.0) * 0.150699 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37307,7 +42778,7 @@ void rate_He4_P32_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P32_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P32_to_p_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P32 + He4 --> p + S35 @@ -37322,9 +42793,13 @@ void rate_He4_P32_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -31.5296 + -3.74729 * tfactors.T9i + -26.7922 * tfactors.T913i + 56.581 * tfactors.T913 + -10.5304 * tfactors.T9 + 0.9493 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.74729 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.7922 * tfactors.T943i + (1.0/3.0) * 56.581 * tfactors.T923i + -10.5304 + (5.0/3.0) * 0.9493 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37339,7 +42814,7 @@ void rate_He4_P32_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P33_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P33_to_n_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + p --> n + S33 @@ -37354,9 +42829,13 @@ void rate_p_P33_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.79458 + -6.19492 * tfactors.T9i + 8.02978 * tfactors.T913 + -0.479244 * tfactors.T9 + 0.0134889 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.19492 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.02978 * tfactors.T923i + -0.479244 + (5.0/3.0) * 0.0134889 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37371,7 +42850,7 @@ void rate_p_P33_to_n_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_P33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_P33_to_He4_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + p --> He4 + Si30 @@ -37386,9 +42865,13 @@ void rate_p_P33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 81.5654 + -3.41491 * tfactors.T9i + 110.297 * tfactors.T913i + -193.863 * tfactors.T913 + 11.4977 * tfactors.T9 + -0.687235 * tfactors.T953 + 94.819 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.41491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 110.297 * tfactors.T943i + (1.0/3.0) * -193.863 * tfactors.T923i + 11.4977 + (5.0/3.0) * -0.687235 * tfactors.T923 + 94.819 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37403,7 +42886,7 @@ void rate_p_P33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P33_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P33_to_n_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + He4 --> n + Cl36 @@ -37418,9 +42901,13 @@ void rate_He4_P33_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 11.13 + -28.5706 * tfactors.T9i + -0.927614 * tfactors.T913 + 1.68083 * tfactors.T9 + -0.183233 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.5706 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.927614 * tfactors.T923i + 1.68083 + (5.0/3.0) * -0.183233 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37435,7 +42922,7 @@ void rate_He4_P33_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_P33_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_P33_to_p_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // P33 + He4 --> p + S36 @@ -37450,9 +42937,13 @@ void rate_He4_P33_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -16.0835 + -6.23702 * tfactors.T9i + -26.7991 * tfactors.T913i + 44.6374 * tfactors.T913 + -9.82916 * tfactors.T9 + 0.995523 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.23702 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.7991 * tfactors.T943i + (1.0/3.0) * 44.6374 * tfactors.T923i + -9.82916 + (5.0/3.0) * 0.995523 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37467,7 +42958,7 @@ void rate_He4_P33_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S32_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S32_to_p_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + n --> p + P32 @@ -37482,9 +42973,13 @@ void rate_n_S32_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 83.3926 + -14.3359 * tfactors.T9i + 124.605 * tfactors.T913i + -206.844 * tfactors.T913 + 11.0016 * tfactors.T9 + -0.612898 * tfactors.T953 + 104.905 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.3359 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 124.605 * tfactors.T943i + (1.0/3.0) * -206.844 * tfactors.T923i + 11.0016 + (5.0/3.0) * -0.612898 * tfactors.T923 + 104.905 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37499,7 +42994,7 @@ void rate_n_S32_to_p_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S32_to_He4_Si29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + n --> He4 + Si29 @@ -37514,9 +43009,13 @@ void rate_n_S32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.947538 + 9.48125 * tfactors.T913 + 0.4472 * tfactors.T9 + -0.119237 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 9.48125 * tfactors.T923i + 0.4472 + (5.0/3.0) * -0.119237 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37531,7 +43030,7 @@ void rate_n_S32_to_He4_Si29_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S32_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S32_to_He4_P29_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + p --> He4 + P29 @@ -37546,9 +43045,13 @@ void rate_p_S32_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 52.2142 + -48.7275 * tfactors.T9i + -62.3802 * tfactors.T913i + 0.459085 * tfactors.T913 + -0.870169 * tfactors.T9 + 0.0631143 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 48.7275 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.3802 * tfactors.T943i + (1.0/3.0) * 0.459085 * tfactors.T923i + -0.870169 + (5.0/3.0) * 0.0631143 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37563,7 +43066,7 @@ void rate_p_S32_to_He4_P29_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S32 + He4 --> p + Cl35 @@ -37578,9 +43081,13 @@ void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.395 + -22.1894 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.1894 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37595,9 +43102,13 @@ void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.2544 + -21.6564 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.6564 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37612,9 +43123,13 @@ void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.42563 + -27.6662 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.6662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37629,9 +43144,13 @@ void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -0.877602 + -25.5914 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.5914 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37646,7 +43165,7 @@ void rate_He4_S32_to_p_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S33_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S33_to_p_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + n --> p + P33 @@ -37661,9 +43180,13 @@ void rate_n_S33_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = 5.10143 + 8.02978 * tfactors.T913 + -0.479244 * tfactors.T9 + 0.0134889 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 8.02978 * tfactors.T923i + -0.479244 + (5.0/3.0) * 0.0134889 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37678,7 +43201,7 @@ void rate_n_S33_to_p_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S33_to_He4_Si30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + n --> He4 + Si30 @@ -37693,9 +43216,13 @@ void rate_n_S33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 17.1798 + -0.725571 * tfactors.T913 + 0.430731 * tfactors.T9 + -0.0323663 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.725571 * tfactors.T923i + 0.430731 + (5.0/3.0) * -0.0323663 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37710,7 +43237,7 @@ void rate_n_S33_to_He4_Si30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S33_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S33_to_n_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + p --> n + Cl33 @@ -37725,9 +43252,13 @@ void rate_p_S33_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.5772 + -73.8616 * tfactors.T9i + 1.39633 * tfactors.T913 + -0.136457 * tfactors.T9 + 0.00585594 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.8616 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.39633 * tfactors.T923i + -0.136457 + (5.0/3.0) * 0.00585594 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37742,7 +43273,7 @@ void rate_p_S33_to_n_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S33_to_He4_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + p --> He4 + P30 @@ -37757,9 +43288,13 @@ void rate_p_S33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 50.7686 + -17.6546 * tfactors.T9i + -62.4643 * tfactors.T913i + 0.492934 * tfactors.T913 + -0.841855 * tfactors.T9 + 0.059263 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.6546 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.4643 * tfactors.T943i + (1.0/3.0) * 0.492934 * tfactors.T923i + -0.841855 + (5.0/3.0) * 0.059263 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37774,7 +43309,7 @@ void rate_p_S33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S33_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S33_to_n_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + He4 --> n + Ar36 @@ -37789,9 +43324,13 @@ void rate_He4_S33_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 0.398258 + -23.219 * tfactors.T9i + 5.44923 * tfactors.T913 + 1.17359 * tfactors.T9 + -0.175811 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.219 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.44923 * tfactors.T923i + 1.17359 + (5.0/3.0) * -0.175811 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37806,7 +43345,7 @@ void rate_He4_S33_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S33_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S33_to_p_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S33 + He4 --> p + Cl36 @@ -37821,9 +43360,13 @@ void rate_He4_S33_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 23.6067 + -22.3757 * tfactors.T9i + -27.9044 * tfactors.T913i + 7.06482 * tfactors.T913 + -1.77458 * tfactors.T9 + 0.192878 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.3757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.9044 * tfactors.T943i + (1.0/3.0) * 7.06482 * tfactors.T923i + -1.77458 + (5.0/3.0) * 0.192878 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37838,7 +43381,7 @@ void rate_He4_S33_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S34_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S34_to_He4_Si31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + n --> He4 + Si31 @@ -37853,9 +43396,13 @@ void rate_n_S34_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -2.47246 + -18.2474 * tfactors.T9i + -22.4045 * tfactors.T913i + 23.4647 * tfactors.T913 + -4.73922 * tfactors.T9 + 0.371237 * tfactors.T953 + 4.62837 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.2474 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -22.4045 * tfactors.T943i + (1.0/3.0) * 23.4647 * tfactors.T923i + -4.73922 + (5.0/3.0) * 0.371237 * tfactors.T923 + 4.62837 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37870,7 +43417,7 @@ void rate_n_S34_to_He4_Si31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S34_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S34_to_n_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + p --> n + Cl34 @@ -37885,9 +43432,13 @@ void rate_p_S34_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.4445 + -72.8108 * tfactors.T9i + 0.847427 * tfactors.T913 + 0.000125282 * tfactors.T9 + -0.00573985 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 72.8108 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.847427 * tfactors.T923i + 0.000125282 + (5.0/3.0) * -0.00573985 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37902,7 +43453,7 @@ void rate_p_S34_to_n_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S34_to_He4_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + p --> He4 + P31 @@ -37917,9 +43468,13 @@ void rate_p_S34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 51.0402 + -7.27426 * tfactors.T9i + -62.5433 * tfactors.T913i + 1.69339 * tfactors.T913 + -1.27872 * tfactors.T9 + 0.106616 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.27426 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -62.5433 * tfactors.T943i + (1.0/3.0) * 1.69339 * tfactors.T923i + -1.27872 + (5.0/3.0) * 0.106616 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37934,7 +43489,7 @@ void rate_p_S34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S34_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S34_to_n_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + He4 --> n + Ar37 @@ -37949,9 +43504,13 @@ void rate_He4_S34_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.5358 + -53.7288 * tfactors.T9i + -1.69894 * tfactors.T913 + 0.371187 * tfactors.T9 + -0.0457242 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.7288 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.69894 * tfactors.T923i + 0.371187 + (5.0/3.0) * -0.0457242 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37966,9 +43525,13 @@ void rate_He4_S34_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.5358 + -53.7288 * tfactors.T9i + 0.522368 * tfactors.T913 + -1.03944 * tfactors.T9 + 0.142735 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 53.7288 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.522368 * tfactors.T923i + -1.03944 + (5.0/3.0) * 0.142735 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -37983,7 +43546,7 @@ void rate_He4_S34_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S34_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S34_to_p_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S34 + He4 --> p + Cl37 @@ -37998,9 +43561,13 @@ void rate_He4_S34_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 80.8229 + -35.2081 * tfactors.T9i + -47.5185 * tfactors.T913i + -32.046 * tfactors.T913 + 4.43077 * tfactors.T9 + -0.368628 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 35.2081 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -47.5185 * tfactors.T943i + (1.0/3.0) * -32.046 * tfactors.T923i + 4.43077 + (5.0/3.0) * -0.368628 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38015,7 +43582,7 @@ void rate_He4_S34_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_S35_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_S35_to_He4_Si32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + n --> He4 + Si32 @@ -38030,9 +43597,13 @@ void rate_n_S35_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -30.1276 + 32.5444 * tfactors.T913 + -2.95994 * tfactors.T9 + 0.119682 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 32.5444 * tfactors.T923i + -2.95994 + (5.0/3.0) * 0.119682 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38047,7 +43618,7 @@ void rate_n_S35_to_He4_Si32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S35_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S35_to_n_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + p --> n + Cl35 @@ -38062,9 +43633,13 @@ void rate_p_S35_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 7.51079 + -7.13865 * tfactors.T9i + 6.51754 * tfactors.T913 + -0.295846 * tfactors.T9 + -0.00271436 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.13865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.51754 * tfactors.T923i + -0.295846 + (5.0/3.0) * -0.00271436 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38079,7 +43654,7 @@ void rate_p_S35_to_n_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S35_to_He4_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + p --> He4 + P32 @@ -38094,9 +43669,13 @@ void rate_p_S35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -30.5654 + -26.7922 * tfactors.T913i + 56.581 * tfactors.T913 + -10.5304 * tfactors.T9 + 0.9493 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.7922 * tfactors.T943i + (1.0/3.0) * 56.581 * tfactors.T923i + -10.5304 + (5.0/3.0) * 0.9493 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38111,7 +43690,7 @@ void rate_p_S35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S35_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S35_to_n_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S35 + He4 --> n + Ar38 @@ -38126,9 +43705,13 @@ void rate_He4_S35_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 51.1473 + -65.58 * tfactors.T913i + 0.762185 * tfactors.T913 + -0.938779 * tfactors.T9 + 0.0668864 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -65.58 * tfactors.T943i + (1.0/3.0) * 0.762185 * tfactors.T923i + -0.938779 + (5.0/3.0) * 0.0668864 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38143,7 +43726,7 @@ void rate_He4_S35_to_n_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S36_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S36_to_n_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 + p --> n + Cl36 @@ -38158,9 +43741,13 @@ void rate_p_S36_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 16.7498 + -22.3336 * tfactors.T9i + 2.26066 * tfactors.T913 + -0.487956 * tfactors.T9 + 0.0471708 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.3336 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.26066 * tfactors.T923i + -0.487956 + (5.0/3.0) * 0.0471708 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38175,7 +43762,7 @@ void rate_p_S36_to_n_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_S36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_S36_to_He4_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 + p --> He4 + P33 @@ -38190,9 +43777,13 @@ void rate_p_S36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -14.1346 + -26.7991 * tfactors.T913i + 44.6374 * tfactors.T913 + -9.82916 * tfactors.T9 + 0.995523 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -26.7991 * tfactors.T943i + (1.0/3.0) * 44.6374 * tfactors.T923i + -9.82916 + (5.0/3.0) * 0.995523 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38207,7 +43798,7 @@ void rate_p_S36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_S36_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_S36_to_n_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // S36 + He4 --> n + Ar39 @@ -38222,9 +43813,13 @@ void rate_He4_S36_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 14.1201 + -35.6081 * tfactors.T9i + -1.97008 * tfactors.T913 + 1.52238 * tfactors.T9 + -0.159721 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 35.6081 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.97008 * tfactors.T923i + 1.52238 + (5.0/3.0) * -0.159721 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38239,7 +43834,7 @@ void rate_He4_S36_to_n_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl33_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl33_to_p_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 + n --> p + S33 @@ -38254,9 +43849,13 @@ void rate_n_Cl33_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.5772 + 1.39633 * tfactors.T913 + -0.136457 * tfactors.T9 + 0.00585594 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.39633 * tfactors.T923i + -0.136457 + (5.0/3.0) * 0.00585594 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38271,7 +43870,7 @@ void rate_n_Cl33_to_p_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl33_to_He4_P30_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 + n --> He4 + P30 @@ -38286,9 +43885,13 @@ void rate_n_Cl33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.9018 + 1.33535 * tfactors.T913 + -0.149988 * tfactors.T9 + 0.0279218 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.33535 * tfactors.T923i + -0.149988 + (5.0/3.0) * 0.0279218 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38303,7 +43906,7 @@ void rate_n_Cl33_to_He4_P30_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl33_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl33_to_p_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl33 + He4 --> p + Ar36 @@ -38318,9 +43921,13 @@ void rate_He4_Cl33_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 52.1588 + -68.1442 * tfactors.T913i + 0.291238 * tfactors.T913 + -0.791384 * tfactors.T9 + 0.0524823 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.1442 * tfactors.T943i + (1.0/3.0) * 0.291238 * tfactors.T923i + -0.791384 + (5.0/3.0) * 0.0524823 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38335,7 +43942,7 @@ void rate_He4_Cl33_to_p_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl34_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl34_to_p_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + n --> p + S34 @@ -38350,9 +43957,13 @@ void rate_n_Cl34_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 18.4445 + 0.847427 * tfactors.T913 + 0.000125282 * tfactors.T9 + -0.00573985 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.847427 * tfactors.T923i + 0.000125282 + (5.0/3.0) * -0.00573985 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38367,7 +43978,7 @@ void rate_n_Cl34_to_p_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl34_to_He4_P31_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + n --> He4 + P31 @@ -38382,9 +43993,13 @@ void rate_n_Cl34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.8653 + -0.466069 * tfactors.T913 + 0.167169 * tfactors.T9 + -0.00537463 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.466069 * tfactors.T923i + 0.167169 + (5.0/3.0) * -0.00537463 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38399,7 +44014,7 @@ void rate_n_Cl34_to_He4_P31_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl34_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl34_to_n_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + He4 --> n + K37 @@ -38414,9 +44029,13 @@ void rate_He4_Cl34_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 16.0909 + -61.3412 * tfactors.T9i + 1.35231 * tfactors.T913 + -0.147095 * tfactors.T9 + 0.0306549 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.3412 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.35231 * tfactors.T923i + -0.147095 + (5.0/3.0) * 0.0306549 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38431,7 +44050,7 @@ void rate_He4_Cl34_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl34_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl34_to_p_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl34 + He4 --> p + Ar37 @@ -38446,9 +44065,13 @@ void rate_He4_Cl34_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 52.795 + -68.2165 * tfactors.T913i + 0.330057 * tfactors.T913 + -0.873334 * tfactors.T9 + 0.0592127 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.2165 * tfactors.T943i + (1.0/3.0) * 0.330057 * tfactors.T923i + -0.873334 + (5.0/3.0) * 0.0592127 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38463,7 +44086,7 @@ void rate_He4_Cl34_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl35_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl35_to_p_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + n --> p + S35 @@ -38478,9 +44101,13 @@ void rate_n_Cl35_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 7.51079 + 6.51754 * tfactors.T913 + -0.295846 * tfactors.T9 + -0.00271436 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.51754 * tfactors.T923i + -0.295846 + (5.0/3.0) * -0.00271436 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38495,7 +44122,7 @@ void rate_n_Cl35_to_p_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl35_to_He4_P32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + n --> He4 + P32 @@ -38510,9 +44137,13 @@ void rate_n_Cl35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -32.0685 + 35.1367 * tfactors.T913 + -3.30169 * tfactors.T9 + 0.150699 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 35.1367 * tfactors.T923i + -3.30169 + (5.0/3.0) * 0.150699 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38527,7 +44158,7 @@ void rate_n_Cl35_to_He4_P32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + p --> He4 + S32 @@ -38542,9 +44173,13 @@ void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38559,9 +44194,13 @@ void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38576,9 +44215,13 @@ void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38593,9 +44236,13 @@ void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38610,7 +44257,7 @@ void rate_p_Cl35_to_He4_S32_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl35_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl35_to_n_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + He4 --> n + K38 @@ -38625,9 +44272,13 @@ void rate_He4_Cl35_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 16.8313 + -67.9937 * tfactors.T9i + 1.15173 * tfactors.T913 + -0.190157 * tfactors.T9 + 0.0305104 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.9937 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.15173 * tfactors.T923i + -0.190157 + (5.0/3.0) * 0.0305104 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38642,7 +44293,7 @@ void rate_He4_Cl35_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl35_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl35_to_p_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl35 + He4 --> p + Ar38 @@ -38657,9 +44308,13 @@ void rate_He4_Cl35_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 51.1272 + -68.2848 * tfactors.T913i + 2.5993 * tfactors.T913 + -1.59144 * tfactors.T9 + 0.137745 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -68.2848 * tfactors.T943i + (1.0/3.0) * 2.5993 * tfactors.T923i + -1.59144 + (5.0/3.0) * 0.137745 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38674,7 +44329,7 @@ void rate_He4_Cl35_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl36_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl36_to_p_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + n --> p + S36 @@ -38689,9 +44344,13 @@ void rate_n_Cl36_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.1404 + 2.26066 * tfactors.T913 + -0.487956 * tfactors.T9 + 0.0471708 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.26066 * tfactors.T923i + -0.487956 + (5.0/3.0) * 0.0471708 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38706,7 +44365,7 @@ void rate_n_Cl36_to_p_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cl36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cl36_to_He4_P33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + n --> He4 + P33 @@ -38721,9 +44380,13 @@ void rate_n_Cl36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 11.4695 + -0.927614 * tfactors.T913 + 1.68083 * tfactors.T9 + -0.183233 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.927614 * tfactors.T923i + 1.68083 + (5.0/3.0) * -0.183233 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38738,7 +44401,7 @@ void rate_n_Cl36_to_He4_P33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl36_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl36_to_n_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + p --> n + Ar36 @@ -38753,9 +44416,13 @@ void rate_p_Cl36_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -24.2851 + -0.843218 * tfactors.T9i + 34.7356 * tfactors.T913 + -5.0791 * tfactors.T9 + 0.381814 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.843218 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 34.7356 * tfactors.T923i + -5.0791 + (5.0/3.0) * 0.381814 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38770,7 +44437,7 @@ void rate_p_Cl36_to_n_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl36_to_He4_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + p --> He4 + S33 @@ -38785,9 +44452,13 @@ void rate_p_Cl36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 24.6393 + -27.9044 * tfactors.T913i + 7.06482 * tfactors.T913 + -1.77458 * tfactors.T9 + 0.192878 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -27.9044 * tfactors.T943i + (1.0/3.0) * 7.06482 * tfactors.T923i + -1.77458 + (5.0/3.0) * 0.192878 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38802,7 +44473,7 @@ void rate_p_Cl36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl36_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl36_to_n_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + He4 --> n + K39 @@ -38817,9 +44488,13 @@ void rate_He4_Cl36_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -19.8313 + -15.7966 * tfactors.T9i + 20.3122 * tfactors.T913 + -0.37149 * tfactors.T9 + -0.0867942 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.7966 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 20.3122 * tfactors.T923i + -0.37149 + (5.0/3.0) * -0.0867942 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38834,7 +44509,7 @@ void rate_He4_Cl36_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl36_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl36_to_p_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl36 + He4 --> p + Ar39 @@ -38849,9 +44524,13 @@ void rate_He4_Cl36_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 7.40378 + -13.2744 * tfactors.T9i + -29.0085 * tfactors.T913i + 15.2414 * tfactors.T913 + -1.01027 * tfactors.T9 + -0.0165013 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.2744 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.0085 * tfactors.T943i + (1.0/3.0) * 15.2414 * tfactors.T923i + -1.01027 + (5.0/3.0) * -0.0165013 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38866,7 +44545,7 @@ void rate_He4_Cl36_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl37_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl37_to_n_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + p --> n + Ar37 @@ -38881,9 +44560,13 @@ void rate_p_Cl37_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.2094 + -18.5233 * tfactors.T9i + 1.64495 * tfactors.T913 + -0.154677 * tfactors.T9 + 0.0083347 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.5233 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.64495 * tfactors.T923i + -0.154677 + (5.0/3.0) * 0.0083347 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38898,7 +44581,7 @@ void rate_p_Cl37_to_n_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cl37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cl37_to_He4_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + p --> He4 + S34 @@ -38913,9 +44596,13 @@ void rate_p_Cl37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 80.6961 + -47.5185 * tfactors.T913i + -32.046 * tfactors.T913 + 4.43077 * tfactors.T9 + -0.368628 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -47.5185 * tfactors.T943i + (1.0/3.0) * -32.046 * tfactors.T923i + 4.43077 + (5.0/3.0) * -0.368628 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38930,7 +44617,7 @@ void rate_p_Cl37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl37_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl37_to_n_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + He4 --> n + K40 @@ -38945,9 +44632,13 @@ void rate_He4_Cl37_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.6408 + -44.9411 * tfactors.T9i + -0.86425 * tfactors.T913 + 0.646211 * tfactors.T9 + -0.0583195 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 44.9411 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.86425 * tfactors.T923i + 0.646211 + (5.0/3.0) * -0.0583195 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38962,7 +44653,7 @@ void rate_He4_Cl37_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cl37_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cl37_to_p_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cl37 + He4 --> p + Ar40 @@ -38977,9 +44668,13 @@ void rate_He4_Cl37_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.9644 + -18.4011 * tfactors.T9i + -29.0146 * tfactors.T913i + 15.2952 * tfactors.T913 + -3.22171 * tfactors.T9 + 0.283382 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.4011 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -29.0146 * tfactors.T943i + (1.0/3.0) * 15.2952 * tfactors.T923i + -3.22171 + (5.0/3.0) * 0.283382 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -38994,7 +44689,7 @@ void rate_He4_Cl37_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar36_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar36_to_p_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + n --> p + Cl36 @@ -39009,9 +44704,13 @@ void rate_n_Ar36_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -22.6757 + 34.7356 * tfactors.T913 + -5.0791 * tfactors.T9 + 0.381814 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 34.7356 * tfactors.T923i + -5.0791 + (5.0/3.0) * 0.381814 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39026,7 +44725,7 @@ void rate_n_Ar36_to_p_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar36_to_He4_S33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + n --> He4 + S33 @@ -39041,9 +44740,13 @@ void rate_n_Ar36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 3.04033 + 5.44923 * tfactors.T913 + 1.17359 * tfactors.T9 + -0.175811 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.44923 * tfactors.T923i + 1.17359 + (5.0/3.0) * -0.175811 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39058,7 +44761,7 @@ void rate_n_Ar36_to_He4_S33_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar36_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar36_to_He4_Cl33_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + p --> He4 + Cl33 @@ -39073,9 +44776,13 @@ void rate_p_Ar36_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 54.8009 + -50.6426 * tfactors.T9i + -68.1442 * tfactors.T913i + 0.291238 * tfactors.T913 + -0.791384 * tfactors.T9 + 0.0524823 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.6426 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.1442 * tfactors.T943i + (1.0/3.0) * 0.291238 * tfactors.T923i + -0.791384 + (5.0/3.0) * 0.0524823 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39090,7 +44797,7 @@ void rate_p_Ar36_to_He4_Cl33_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar36_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar36_to_p_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar36 + He4 --> p + K39 @@ -39105,9 +44812,13 @@ void rate_He4_Ar36_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.6367 + -14.9533 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.9533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39122,7 +44833,7 @@ void rate_He4_Ar36_to_p_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar37_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar37_to_p_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + n --> p + Cl37 @@ -39137,9 +44848,13 @@ void rate_n_Ar37_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.2094 + 1.64495 * tfactors.T913 + -0.154677 * tfactors.T9 + 0.0083347 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.64495 * tfactors.T923i + -0.154677 + (5.0/3.0) * 0.0083347 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39154,7 +44869,7 @@ void rate_n_Ar37_to_p_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar37_to_He4_S34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + n --> He4 + S34 @@ -39169,9 +44884,13 @@ void rate_n_Ar37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.409 + -1.69894 * tfactors.T913 + 0.371187 * tfactors.T9 + -0.0457242 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.69894 * tfactors.T923i + 0.371187 + (5.0/3.0) * -0.0457242 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39186,9 +44905,13 @@ void rate_n_Ar37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 18.409 + 0.522368 * tfactors.T913 + -1.03944 * tfactors.T9 + 0.142735 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.522368 * tfactors.T923i + -1.03944 + (5.0/3.0) * 0.142735 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39203,7 +44926,7 @@ void rate_n_Ar37_to_He4_S34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar37_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar37_to_n_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + p --> n + K37 @@ -39218,9 +44941,13 @@ void rate_p_Ar37_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.3703 + -80.417 * tfactors.T9i + 0.399131 * tfactors.T913 + 0.0819317 * tfactors.T9 + -0.0133489 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.417 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.399131 * tfactors.T923i + 0.0819317 + (5.0/3.0) * -0.0133489 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39235,7 +44962,7 @@ void rate_p_Ar37_to_n_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar37_to_He4_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + p --> He4 + Cl34 @@ -39250,9 +44977,13 @@ void rate_p_Ar37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 52.6682 + -19.0758 * tfactors.T9i + -68.2165 * tfactors.T913i + 0.330057 * tfactors.T913 + -0.873334 * tfactors.T9 + 0.0592127 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.0758 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.2165 * tfactors.T943i + (1.0/3.0) * 0.330057 * tfactors.T923i + -0.873334 + (5.0/3.0) * 0.0592127 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39267,7 +44998,7 @@ void rate_p_Ar37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar37_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar37_to_n_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + He4 --> n + Ca40 @@ -39282,9 +45013,13 @@ void rate_He4_Ar37_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -12.0914 + -20.2822 * tfactors.T9i + 13.8882 * tfactors.T913 + 0.260223 * tfactors.T9 + -0.108063 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.2822 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.8882 * tfactors.T923i + 0.260223 + (5.0/3.0) * -0.108063 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39299,7 +45034,7 @@ void rate_He4_Ar37_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar37_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar37_to_p_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar37 + He4 --> p + K40 @@ -39314,9 +45049,13 @@ void rate_He4_Ar37_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 23.3208 + -26.4178 * tfactors.T9i + -30.0795 * tfactors.T913i + 8.28189 * tfactors.T913 + -2.15178 * tfactors.T9 + 0.242064 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.4178 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 8.28189 * tfactors.T923i + -2.15178 + (5.0/3.0) * 0.242064 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39331,7 +45070,7 @@ void rate_He4_Ar37_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar38_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar38_to_He4_S35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + n --> He4 + S35 @@ -39346,9 +45085,13 @@ void rate_n_Ar38_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 53.7965 + -2.57381 * tfactors.T9i + -65.58 * tfactors.T913i + 0.762185 * tfactors.T913 + -0.938779 * tfactors.T9 + 0.0668864 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.57381 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.58 * tfactors.T943i + (1.0/3.0) * 0.762185 * tfactors.T923i + -0.938779 + (5.0/3.0) * 0.0668864 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39363,7 +45106,7 @@ void rate_n_Ar38_to_He4_S35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar38_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar38_to_n_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + p --> n + K38 @@ -39378,9 +45121,13 @@ void rate_p_Ar38_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 21.5484 + -77.7062 * tfactors.T9i + -0.5015 * tfactors.T913 + 0.324921 * tfactors.T9 + -0.0393691 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.7062 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.5015 * tfactors.T923i + 0.324921 + (5.0/3.0) * -0.0393691 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39395,7 +45142,7 @@ void rate_p_Ar38_to_n_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar38_to_He4_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + p --> He4 + Cl35 @@ -39410,9 +45157,13 @@ void rate_p_Ar38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 53.7764 + -9.71246 * tfactors.T9i + -68.2848 * tfactors.T913i + 2.5993 * tfactors.T913 + -1.59144 * tfactors.T9 + 0.137745 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.71246 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -68.2848 * tfactors.T943i + (1.0/3.0) * 2.5993 * tfactors.T923i + -1.59144 + (5.0/3.0) * 0.137745 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39427,7 +45178,7 @@ void rate_p_Ar38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar38_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar38_to_n_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + He4 --> n + Ca41 @@ -39442,9 +45193,13 @@ void rate_He4_Ar38_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.7791 + -60.6168 * tfactors.T9i + -0.0142 * tfactors.T913i + -0.10052 * tfactors.T913 + 0.27737 * tfactors.T9 + -0.00483 * tfactors.T953 + -0.2165 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 60.6168 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.0142 * tfactors.T943i + (1.0/3.0) * -0.10052 * tfactors.T923i + 0.27737 + (5.0/3.0) * -0.00483 * tfactors.T923 + -0.2165 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39459,7 +45214,7 @@ void rate_He4_Ar38_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar38_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar38_to_p_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar38 + He4 --> p + K41 @@ -39474,9 +45229,13 @@ void rate_He4_Ar38_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 64.5247 + -47.3255 * tfactors.T9i + 9.28681 * tfactors.T913i + -73.161 * tfactors.T913 + 4.26053 * tfactors.T9 + -0.235892 * tfactors.T953 + 31.8226 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 47.3255 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.28681 * tfactors.T943i + (1.0/3.0) * -73.161 * tfactors.T923i + 4.26053 + (5.0/3.0) * -0.235892 * tfactors.T923 + 31.8226 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39491,7 +45250,7 @@ void rate_He4_Ar38_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ar39_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ar39_to_He4_S36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + n --> He4 + S36 @@ -39506,9 +45265,13 @@ void rate_n_Ar39_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 13.3069 + -1.97008 * tfactors.T913 + 1.52238 * tfactors.T9 + -0.159721 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.97008 * tfactors.T923i + 1.52238 + (5.0/3.0) * -0.159721 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39523,7 +45286,7 @@ void rate_n_Ar39_to_He4_S36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar39_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar39_to_n_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + p --> n + K39 @@ -39538,9 +45301,13 @@ void rate_p_Ar39_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -15.9025 + -2.52219 * tfactors.T9i + 26.5209 * tfactors.T913 + -3.63684 * tfactors.T9 + 0.276163 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.52219 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 26.5209 * tfactors.T923i + -3.63684 + (5.0/3.0) * 0.276163 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39555,7 +45322,7 @@ void rate_p_Ar39_to_n_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar39_to_He4_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + p --> He4 + Cl36 @@ -39570,9 +45337,13 @@ void rate_p_Ar39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.20001 + -29.0085 * tfactors.T913i + 15.2414 * tfactors.T913 + -1.01027 * tfactors.T9 + -0.0165013 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.0085 * tfactors.T943i + (1.0/3.0) * 15.2414 * tfactors.T923i + -1.01027 + (5.0/3.0) * -0.0165013 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39587,7 +45358,7 @@ void rate_p_Ar39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar39_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar39_to_n_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar39 + He4 --> n + Ca42 @@ -39602,9 +45373,13 @@ void rate_He4_Ar39_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -91.8716 + -3.96108 * tfactors.T9i + 88.8565 * tfactors.T913 + -12.9534 * tfactors.T9 + 0.93832 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.96108 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 88.8565 * tfactors.T923i + -12.9534 + (5.0/3.0) * 0.93832 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39619,7 +45394,7 @@ void rate_He4_Ar39_to_n_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar40_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar40_to_n_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 + p --> n + K40 @@ -39634,9 +45409,13 @@ void rate_p_Ar40_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 16.3302 + -26.54 * tfactors.T9i + -0.499903 * tfactors.T913 + 0.849663 * tfactors.T9 + -0.0834774 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.54 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.499903 * tfactors.T923i + 0.849663 + (5.0/3.0) * -0.0834774 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39651,7 +45430,7 @@ void rate_p_Ar40_to_n_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ar40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ar40_to_He4_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 + p --> He4 + Cl37 @@ -39666,9 +45445,13 @@ void rate_p_Ar40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.62 + -29.0146 * tfactors.T913i + 15.2952 * tfactors.T913 + -3.22171 * tfactors.T9 + 0.283382 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -29.0146 * tfactors.T943i + (1.0/3.0) * 15.2952 * tfactors.T923i + -3.22171 + (5.0/3.0) * 0.283382 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39683,7 +45466,7 @@ void rate_p_Ar40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ar40_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ar40_to_n_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ar40 + He4 --> n + Ca43 @@ -39698,9 +45481,13 @@ void rate_He4_Ar40_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 1.12753 + -26.4311 * tfactors.T9i + 4.3289 * tfactors.T913 + 1.46375 * tfactors.T9 + -0.180625 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.4311 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.3289 * tfactors.T923i + 1.46375 + (5.0/3.0) * -0.180625 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39715,7 +45502,7 @@ void rate_He4_Ar40_to_n_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K37_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K37_to_p_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 + n --> p + Ar37 @@ -39730,9 +45517,13 @@ void rate_n_K37_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.3703 + 0.399131 * tfactors.T913 + 0.0819317 * tfactors.T9 + -0.0133489 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.399131 * tfactors.T923i + 0.0819317 + (5.0/3.0) * -0.0133489 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39747,7 +45538,7 @@ void rate_n_K37_to_p_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K37_to_He4_Cl34_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 + n --> He4 + Cl34 @@ -39762,9 +45553,13 @@ void rate_n_K37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 15.9641 + 1.35231 * tfactors.T913 + -0.147095 * tfactors.T9 + 0.0306549 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.35231 * tfactors.T923i + -0.147095 + (5.0/3.0) * 0.0306549 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39779,7 +45574,7 @@ void rate_n_K37_to_He4_Cl34_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K37_to_p_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K37_to_p_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K37 + He4 --> p + Ca40 @@ -39794,9 +45589,13 @@ void rate_He4_K37_to_p_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 54.2966 + -73.6776 * tfactors.T913i + 0.493294 * tfactors.T913 + -0.902307 * tfactors.T9 + 0.0641391 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.6776 * tfactors.T943i + (1.0/3.0) * 0.493294 * tfactors.T923i + -0.902307 + (5.0/3.0) * 0.0641391 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39811,7 +45610,7 @@ void rate_He4_K37_to_p_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K38_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K38_to_p_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 + n --> p + Ar38 @@ -39826,9 +45625,13 @@ void rate_n_K38_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.6025 + -0.5015 * tfactors.T913 + 0.324921 * tfactors.T9 + -0.0393691 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.5015 * tfactors.T923i + 0.324921 + (5.0/3.0) * -0.0393691 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39843,7 +45646,7 @@ void rate_n_K38_to_p_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K38_to_He4_Cl35_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 + n --> He4 + Cl35 @@ -39858,9 +45661,13 @@ void rate_n_K38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 17.5346 + 1.15173 * tfactors.T913 + -0.190157 * tfactors.T9 + 0.0305104 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.15173 * tfactors.T923i + -0.190157 + (5.0/3.0) * 0.0305104 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39875,7 +45682,7 @@ void rate_n_K38_to_He4_Cl35_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K38_to_p_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K38_to_p_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K38 + He4 --> p + Ca41 @@ -39890,9 +45697,13 @@ void rate_He4_K38_to_p_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 54.4204 + -73.7407 * tfactors.T913i + 0.600725 * tfactors.T913 + -0.957475 * tfactors.T9 + 0.0689286 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.7407 * tfactors.T943i + (1.0/3.0) * 0.600725 * tfactors.T923i + -0.957475 + (5.0/3.0) * 0.0689286 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39907,7 +45718,7 @@ void rate_He4_K38_to_p_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K39_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K39_to_p_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + n --> p + Ar39 @@ -39922,9 +45733,13 @@ void rate_n_K39_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = -15.2094 + 26.5209 * tfactors.T913 + -3.63684 * tfactors.T9 + 0.276163 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 26.5209 * tfactors.T923i + -3.63684 + (5.0/3.0) * 0.276163 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39939,7 +45754,7 @@ void rate_n_K39_to_p_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K39_to_He4_Cl36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + n --> He4 + Cl36 @@ -39954,9 +45769,13 @@ void rate_n_K39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -18.3419 + 20.3122 * tfactors.T913 + -0.37149 * tfactors.T9 + -0.0867942 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 20.3122 * tfactors.T923i + -0.37149 + (5.0/3.0) * -0.0867942 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -39971,7 +45790,7 @@ void rate_n_K39_to_He4_Cl36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K39_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K39_to_He4_Ar36_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + p --> He4 + Ar36 @@ -39986,9 +45805,13 @@ void rate_p_K39_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40003,7 +45826,7 @@ void rate_p_K39_to_He4_Ar36_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K39_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K39_to_p_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K39 + He4 --> p + Ca42 @@ -40018,9 +45841,13 @@ void rate_He4_K39_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -80.8734 + -1.43889 * tfactors.T9i + -31.1381 * tfactors.T913i + 117.868 * tfactors.T913 + -27.0455 * tfactors.T9 + 2.75661 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.43889 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.1381 * tfactors.T943i + (1.0/3.0) * 117.868 * tfactors.T923i + -27.0455 + (5.0/3.0) * 2.75661 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40035,7 +45862,7 @@ void rate_He4_K39_to_p_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K40_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K40_to_p_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + n --> p + Ar40 @@ -40050,9 +45877,13 @@ void rate_n_K40_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 14.133 + -0.499903 * tfactors.T913 + 0.849663 * tfactors.T9 + -0.0834774 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.499903 * tfactors.T923i + 0.849663 + (5.0/3.0) * -0.0834774 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40067,7 +45898,7 @@ void rate_n_K40_to_p_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_K40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_K40_to_He4_Cl37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + n --> He4 + Cl37 @@ -40082,9 +45913,13 @@ void rate_n_K40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 16.0992 + -0.86425 * tfactors.T913 + 0.646211 * tfactors.T9 + -0.0583195 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.86425 * tfactors.T923i + 0.646211 + (5.0/3.0) * -0.0583195 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40099,7 +45934,7 @@ void rate_n_K40_to_He4_Cl37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K40_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K40_to_n_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + p --> n + Ca40 @@ -40114,9 +45949,13 @@ void rate_p_K40_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 32.1312 + -30.0795 * tfactors.T913i + 2.76095 * tfactors.T913 + -1.51745 * tfactors.T9 + 0.191236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 2.76095 * tfactors.T923i + -1.51745 + (5.0/3.0) * 0.191236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40131,7 +45970,7 @@ void rate_p_K40_to_n_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K40_to_He4_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + p --> He4 + Ar37 @@ -40146,9 +45985,13 @@ void rate_p_K40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 23.7792 + -30.0795 * tfactors.T913i + 8.28189 * tfactors.T913 + -2.15178 * tfactors.T9 + 0.242064 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 8.28189 * tfactors.T923i + -2.15178 + (5.0/3.0) * 0.242064 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40163,7 +46006,7 @@ void rate_p_K40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K40_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K40_to_n_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + He4 --> n + Sc43 @@ -40178,9 +46021,13 @@ void rate_He4_K40_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 8.9468 + -34.7402 * tfactors.T9i + -0.653091 * tfactors.T913 + 1.79632 * tfactors.T9 + -0.19216 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.7402 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.653091 * tfactors.T923i + 1.79632 + (5.0/3.0) * -0.19216 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40195,7 +46042,7 @@ void rate_He4_K40_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K40_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K40_to_p_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K40 + He4 --> p + Ca43 @@ -40210,9 +46057,13 @@ void rate_He4_K40_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 43.3098 + -73.858 * tfactors.T913i + 16.1645 * tfactors.T913 + -5.93343 * tfactors.T9 + 0.650563 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.858 * tfactors.T943i + (1.0/3.0) * 16.1645 * tfactors.T923i + -5.93343 + (5.0/3.0) * 0.650563 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40227,7 +46078,7 @@ void rate_He4_K40_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K41_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K41_to_n_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + p --> n + Ca41 @@ -40242,9 +46093,13 @@ void rate_p_K41_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 8.69806 + -13.9718 * tfactors.T9i + 6.52588 * tfactors.T913 + -1.55272 * tfactors.T9 + 0.150334 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.9718 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.52588 * tfactors.T923i + -1.55272 + (5.0/3.0) * 0.150334 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40259,9 +46114,13 @@ void rate_p_K41_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.9784 + -13.9718 * tfactors.T9i + -2.82146 * tfactors.T913 + 1.71734 * tfactors.T9 + -0.187775 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.9718 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.82146 * tfactors.T923i + 1.71734 + (5.0/3.0) * -0.187775 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40276,7 +46135,7 @@ void rate_p_K41_to_n_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_K41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_K41_to_He4_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + p --> He4 + Ar38 @@ -40291,9 +46150,13 @@ void rate_p_K41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 64.4107 + -0.681143 * tfactors.T9i + 9.28681 * tfactors.T913i + -73.161 * tfactors.T913 + 4.26053 * tfactors.T9 + -0.235892 * tfactors.T953 + 31.8226 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.681143 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 9.28681 * tfactors.T943i + (1.0/3.0) * -73.161 * tfactors.T923i + 4.26053 + (5.0/3.0) * -0.235892 * tfactors.T923 + 31.8226 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40308,7 +46171,7 @@ void rate_p_K41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K41_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K41_to_n_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + He4 --> n + Sc44 @@ -40323,9 +46186,13 @@ void rate_He4_K41_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 12.8237 + -39.3393 * tfactors.T9i + -7.79828 * tfactors.T913 + 4.55188 * tfactors.T9 + -0.667478 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.3393 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -7.79828 * tfactors.T923i + 4.55188 + (5.0/3.0) * -0.667478 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40340,9 +46207,13 @@ void rate_He4_K41_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 12.4167 + -39.3393 * tfactors.T9i + -2.89121 * tfactors.T913 + 2.26347 * tfactors.T9 + -0.251579 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.3393 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.89121 * tfactors.T923i + 2.26347 + (5.0/3.0) * -0.251579 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40357,7 +46228,7 @@ void rate_He4_K41_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_K41_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_K41_to_p_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // K41 + He4 --> p + Ca44 @@ -40372,9 +46243,13 @@ void rate_He4_K41_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 55.5 + -73.9 * tfactors.T913i + -0.410794 * tfactors.T913 + 0.365336 * tfactors.T9 + -0.607187 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.9 * tfactors.T943i + (1.0/3.0) * -0.410794 * tfactors.T923i + 0.365336 + (5.0/3.0) * -0.607187 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40389,9 +46264,13 @@ void rate_He4_K41_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 48.7841 + -73.9 * tfactors.T913i + 5.43181 * tfactors.T913 + -2.12763 * tfactors.T9 + 0.134461 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -73.9 * tfactors.T943i + (1.0/3.0) * 5.43181 * tfactors.T923i + -2.12763 + (5.0/3.0) * 0.134461 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40406,7 +46285,7 @@ void rate_He4_K41_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca40_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca40_to_p_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + n --> p + K40 @@ -40421,9 +46300,13 @@ void rate_n_Ca40_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 34.3284 + -6.13558 * tfactors.T9i + -30.0795 * tfactors.T913i + 2.76095 * tfactors.T913 + -1.51745 * tfactors.T9 + 0.191236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.13558 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0795 * tfactors.T943i + (1.0/3.0) * 2.76095 * tfactors.T923i + -1.51745 + (5.0/3.0) * 0.191236 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40438,7 +46321,7 @@ void rate_n_Ca40_to_p_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca40_to_He4_Ar37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + n --> He4 + Ar37 @@ -40453,9 +46336,13 @@ void rate_n_Ca40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -9.43576 + 13.8882 * tfactors.T913 + 0.260223 * tfactors.T9 + -0.108063 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 13.8882 * tfactors.T923i + 0.260223 + (5.0/3.0) * -0.108063 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40470,7 +46357,7 @@ void rate_n_Ca40_to_He4_Ar37_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca40_to_He4_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca40_to_He4_K37_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + p --> He4 + K37 @@ -40485,9 +46372,13 @@ void rate_p_Ca40_to_He4_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 56.9522 + -60.1348 * tfactors.T9i + -73.6776 * tfactors.T913i + 0.493294 * tfactors.T913 + -0.902307 * tfactors.T9 + 0.0641391 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 60.1348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.6776 * tfactors.T943i + (1.0/3.0) * 0.493294 * tfactors.T923i + -0.902307 + (5.0/3.0) * 0.0641391 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40502,7 +46393,7 @@ void rate_p_Ca40_to_He4_K37_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca40_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca40_to_p_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca40 + He4 --> p + Sc43 @@ -40517,9 +46408,13 @@ void rate_He4_Ca40_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 35.6575 + -40.8757 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.8757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40534,7 +46429,7 @@ void rate_He4_Ca40_to_p_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca41_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca41_to_p_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + n --> p + K41 @@ -40549,9 +46444,13 @@ void rate_n_Ca41_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 8.00491 + 6.52588 * tfactors.T913 + -1.55272 * tfactors.T9 + 0.150334 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.52588 * tfactors.T923i + -1.55272 + (5.0/3.0) * 0.150334 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40566,9 +46465,13 @@ void rate_n_Ca41_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.2853 + -2.82146 * tfactors.T913 + 1.71734 * tfactors.T9 + -0.187775 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.82146 * tfactors.T923i + 1.71734 + (5.0/3.0) * -0.187775 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40583,7 +46486,7 @@ void rate_n_Ca41_to_p_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca41_to_He4_Ar38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + n --> He4 + Ar38 @@ -40598,9 +46501,13 @@ void rate_n_Ca41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.972 + -1.36064e-05 * tfactors.T9i + -0.0142 * tfactors.T913i + -0.10052 * tfactors.T913 + 0.27737 * tfactors.T9 + -0.00483 * tfactors.T953 + -0.2165 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.36064e-05 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.0142 * tfactors.T943i + (1.0/3.0) * -0.10052 * tfactors.T923i + 0.27737 + (5.0/3.0) * -0.00483 * tfactors.T923 + -0.2165 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40615,7 +46522,7 @@ void rate_n_Ca41_to_He4_Ar38_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca41_to_He4_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca41_to_He4_K38_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + p --> He4 + K38 @@ -40630,9 +46537,13 @@ void rate_p_Ca41_to_He4_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 55.5592 + -17.0935 * tfactors.T9i + -73.7407 * tfactors.T913i + 0.600725 * tfactors.T913 + -0.957475 * tfactors.T9 + 0.0689286 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.0935 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.7407 * tfactors.T943i + (1.0/3.0) * 0.600725 * tfactors.T923i + -0.957475 + (5.0/3.0) * 0.0689286 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40647,7 +46558,7 @@ void rate_p_Ca41_to_He4_K38_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca41_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca41_to_n_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + He4 --> n + Ti44 @@ -40662,9 +46573,13 @@ void rate_He4_Ca41_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 4.15144 + -37.5487 * tfactors.T9i + 2.68094 * tfactors.T913 + 1.34285 * tfactors.T9 + -0.18134 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.5487 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.68094 * tfactors.T923i + 1.34285 + (5.0/3.0) * -0.18134 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40679,7 +46594,7 @@ void rate_He4_Ca41_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca41_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca41_to_p_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca41 + He4 --> p + Sc44 @@ -40694,9 +46609,13 @@ void rate_He4_Ca41_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.3516 + -25.3642 * tfactors.T9i + -32.179 * tfactors.T913i + 13.8907 * tfactors.T913 + -3.30408 * tfactors.T9 + 0.332186 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.3642 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.179 * tfactors.T943i + (1.0/3.0) * 13.8907 * tfactors.T923i + -3.30408 + (5.0/3.0) * 0.332186 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40711,7 +46630,7 @@ void rate_He4_Ca41_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca42_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca42_to_He4_Ar39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + n --> He4 + Ar39 @@ -40726,9 +46645,13 @@ void rate_n_Ca42_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -88.517 + 88.8565 * tfactors.T913 + -12.9534 * tfactors.T9 + 0.93832 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 88.8565 * tfactors.T923i + -12.9534 + (5.0/3.0) * 0.93832 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40743,7 +46666,7 @@ void rate_n_Ca42_to_He4_Ar39_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca42_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca42_to_He4_K39_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + p --> He4 + K39 @@ -40758,9 +46681,13 @@ void rate_p_Ca42_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -78.212 + -31.1381 * tfactors.T913i + 117.868 * tfactors.T913 + -27.0455 * tfactors.T9 + 2.75661 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.1381 * tfactors.T943i + (1.0/3.0) * 117.868 * tfactors.T923i + -27.0455 + (5.0/3.0) * 2.75661 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40775,7 +46702,7 @@ void rate_p_Ca42_to_He4_K39_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca42_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca42_to_n_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + He4 --> n + Ti45 @@ -40790,9 +46717,13 @@ void rate_He4_Ca42_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.2379 + -60.2011 * tfactors.T9i + -1.31041 * tfactors.T913 + 0.516347 * tfactors.T9 + -0.0189198 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 60.2011 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.31041 * tfactors.T923i + 0.516347 + (5.0/3.0) * -0.0189198 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40807,7 +46738,7 @@ void rate_He4_Ca42_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca42_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca42_to_p_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca42 + He4 --> p + Sc45 @@ -40822,9 +46753,13 @@ void rate_He4_Ca42_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.625 + -27.1933 * tfactors.T9i + -32.1843 * tfactors.T913i + 14.0733 * tfactors.T913 + -3.38786 * tfactors.T9 + 0.349494 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.1933 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1843 * tfactors.T943i + (1.0/3.0) * 14.0733 * tfactors.T923i + -3.38786 + (5.0/3.0) * 0.349494 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40839,7 +46774,7 @@ void rate_He4_Ca42_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ca43_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ca43_to_He4_Ar40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + n --> He4 + Ar40 @@ -40854,9 +46789,13 @@ void rate_n_Ca43_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.325905 + 4.3289 * tfactors.T913 + 1.46375 * tfactors.T9 + -0.180625 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.3289 * tfactors.T923i + 1.46375 + (5.0/3.0) * -0.180625 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40871,7 +46810,7 @@ void rate_n_Ca43_to_He4_Ar40_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca43_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca43_to_n_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + p --> n + Sc43 @@ -40886,9 +46825,13 @@ void rate_p_Ca43_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4535 + -34.849 * tfactors.T9i + -0.494422 * tfactors.T913 + 0.261414 * tfactors.T9 + -0.0285528 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.849 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.494422 * tfactors.T923i + 0.261414 + (5.0/3.0) * -0.0285528 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40903,7 +46846,7 @@ void rate_p_Ca43_to_n_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca43_to_He4_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + p --> He4 + K40 @@ -40918,9 +46861,13 @@ void rate_p_Ca43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 44.7054 + -0.108839 * tfactors.T9i + -73.858 * tfactors.T913i + 16.1645 * tfactors.T913 + -5.93343 * tfactors.T9 + 0.650563 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.108839 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.858 * tfactors.T943i + (1.0/3.0) * 16.1645 * tfactors.T923i + -5.93343 + (5.0/3.0) * 0.650563 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40935,7 +46882,7 @@ void rate_p_Ca43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca43_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca43_to_n_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + He4 --> n + Ti46 @@ -40950,9 +46897,13 @@ void rate_He4_Ca43_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 53.4643 + -76.5897 * tfactors.T913i + 3.69244 * tfactors.T913 + -1.90131 * tfactors.T9 + 0.171994 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.5897 * tfactors.T943i + (1.0/3.0) * 3.69244 * tfactors.T923i + -1.90131 + (5.0/3.0) * 0.171994 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40967,7 +46918,7 @@ void rate_He4_Ca43_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca43_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca43_to_p_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca43 + He4 --> p + Sc46 @@ -40982,9 +46933,13 @@ void rate_He4_Ca43_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 69.4699 + -22.8373 * tfactors.T9i + 189.856 * tfactors.T913i + -278.908 * tfactors.T913 + 13.9142 * tfactors.T9 + -0.770736 * tfactors.T953 + 153.141 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.8373 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 189.856 * tfactors.T943i + (1.0/3.0) * -278.908 * tfactors.T923i + 13.9142 + (5.0/3.0) * -0.770736 * tfactors.T923 + 153.141 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -40999,7 +46954,7 @@ void rate_He4_Ca43_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca44_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca44_to_n_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + p --> n + Sc44 @@ -41014,9 +46969,13 @@ void rate_p_Ca44_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.5127 + -51.4628 * tfactors.T9i + -1.95318 * tfactors.T913 + 0.326277 * tfactors.T9 + -0.0205095 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.4628 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.95318 * tfactors.T923i + 0.326277 + (5.0/3.0) * -0.0205095 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41031,7 +46990,7 @@ void rate_p_Ca44_to_n_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca44_to_He4_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + p --> He4 + K41 @@ -41046,9 +47005,13 @@ void rate_p_Ca44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 51.4508 + -12.1383 * tfactors.T9i + -73.9 * tfactors.T913i + 5.43181 * tfactors.T913 + -2.12763 * tfactors.T9 + 0.134461 * tfactors.T953 + 0.333333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.1383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.9 * tfactors.T943i + (1.0/3.0) * 5.43181 * tfactors.T923i + -2.12763 + (5.0/3.0) * 0.134461 * tfactors.T923 + 0.333333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41063,9 +47026,13 @@ void rate_p_Ca44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 58.1667 + -12.1383 * tfactors.T9i + -73.9 * tfactors.T913i + -0.410794 * tfactors.T913 + 0.365336 * tfactors.T9 + -0.607187 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.1383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -73.9 * tfactors.T943i + (1.0/3.0) * -0.410794 * tfactors.T923i + 0.365336 + (5.0/3.0) * -0.607187 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41080,7 +47047,7 @@ void rate_p_Ca44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca44_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca44_to_n_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + He4 --> n + Ti47 @@ -41095,9 +47062,13 @@ void rate_He4_Ca44_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -3.44255 + -25.3267 * tfactors.T9i + 4.6504 * tfactors.T913 + 2.25932 * tfactors.T9 + -0.286843 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.3267 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.6504 * tfactors.T923i + 2.25932 + (5.0/3.0) * -0.286843 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41112,7 +47083,7 @@ void rate_He4_Ca44_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca44_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca44_to_p_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca44 + He4 --> p + Sc47 @@ -41127,9 +47098,13 @@ void rate_He4_Ca44_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 75.2496 + -29.0126 * tfactors.T9i + 224.282 * tfactors.T913i + -318.978 * tfactors.T913 + 15.9466 * tfactors.T9 + -0.877308 * tfactors.T953 + 174.938 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.0126 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 224.282 * tfactors.T943i + (1.0/3.0) * -318.978 * tfactors.T923i + 15.9466 + (5.0/3.0) * -0.877308 * tfactors.T923 + 174.938 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41144,7 +47119,7 @@ void rate_He4_Ca44_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca45_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca45_to_n_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + p --> n + Sc45 @@ -41159,9 +47134,13 @@ void rate_p_Ca45_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -3.98017 + -6.10982 * tfactors.T9i + 14.7265 * tfactors.T913 + -1.41914 * tfactors.T9 + 0.0785177 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.10982 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 14.7265 * tfactors.T923i + -1.41914 + (5.0/3.0) * 0.0785177 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41176,7 +47155,7 @@ void rate_p_Ca45_to_n_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca45_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca45_to_n_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + He4 --> n + Ti48 @@ -41191,9 +47170,13 @@ void rate_He4_Ca45_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.1268 + -76.6866 * tfactors.T913i + -0.885239 * tfactors.T913 + -0.554755 * tfactors.T9 + 0.0189393 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.6866 * tfactors.T943i + (1.0/3.0) * -0.885239 * tfactors.T923i + -0.554755 + (5.0/3.0) * 0.0189393 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41208,7 +47191,7 @@ void rate_He4_Ca45_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca45_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca45_to_p_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca45 + He4 --> p + Sc48 @@ -41223,9 +47206,13 @@ void rate_He4_Ca45_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 71.9187 + -19.6095 * tfactors.T9i + 239.338 * tfactors.T913i + -335.863 * tfactors.T913 + 14.1283 * tfactors.T9 + -0.596544 * tfactors.T953 + 190.967 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.6095 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 239.338 * tfactors.T943i + (1.0/3.0) * -335.863 * tfactors.T923i + 14.1283 + (5.0/3.0) * -0.596544 * tfactors.T923 + 190.967 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41240,7 +47227,7 @@ void rate_He4_Ca45_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca46_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca46_to_n_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + p --> n + Sc46 @@ -41255,9 +47242,13 @@ void rate_p_Ca46_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 76.3672 + -25.675 * tfactors.T9i + 65.2318 * tfactors.T913i + -132.177 * tfactors.T913 + 8.05925 * tfactors.T9 + -0.425861 * tfactors.T953 + 59.0907 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.675 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 65.2318 * tfactors.T943i + (1.0/3.0) * -132.177 * tfactors.T923i + 8.05925 + (5.0/3.0) * -0.425861 * tfactors.T923 + 59.0907 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41272,7 +47263,7 @@ void rate_p_Ca46_to_n_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca46_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca46_to_n_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + He4 --> n + Ti49 @@ -41287,9 +47278,13 @@ void rate_He4_Ca46_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -105.987 + -2.58408 * tfactors.T9i + 100.098 * tfactors.T913 + -14.6121 * tfactors.T9 + 1.09235 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.58408 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 100.098 * tfactors.T923i + -14.6121 + (5.0/3.0) * 1.09235 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41304,7 +47299,7 @@ void rate_He4_Ca46_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca46_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca46_to_p_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca46 + He4 --> p + Sc49 @@ -41319,9 +47314,13 @@ void rate_He4_Ca46_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 74.0275 + -22.4589 * tfactors.T9i + 218.203 * tfactors.T913i + -316.114 * tfactors.T913 + 14.9186 * tfactors.T9 + -0.720017 * tfactors.T953 + 174.788 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.4589 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 218.203 * tfactors.T943i + (1.0/3.0) * -316.114 * tfactors.T923i + 14.9186 + (5.0/3.0) * -0.720017 * tfactors.T923 + 174.788 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41336,7 +47335,7 @@ void rate_He4_Ca46_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca47_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca47_to_n_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 + p --> n + Sc47 @@ -41351,9 +47350,13 @@ void rate_p_Ca47_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 34.8341 + -31.164 * tfactors.T913i + -0.314533 * tfactors.T913 + -0.0979736 * tfactors.T9 + 0.00385901 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -31.164 * tfactors.T943i + (1.0/3.0) * -0.314533 * tfactors.T923i + -0.0979736 + (5.0/3.0) * 0.00385901 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41368,7 +47371,7 @@ void rate_p_Ca47_to_n_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca47_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca47_to_n_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca47 + He4 --> n + Ti50 @@ -41383,9 +47386,13 @@ void rate_He4_Ca47_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.426 + -76.7758 * tfactors.T913i + -0.981924 * tfactors.T913 + -0.52791 * tfactors.T9 + 0.0150723 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -76.7758 * tfactors.T943i + (1.0/3.0) * -0.981924 * tfactors.T923i + -0.52791 + (5.0/3.0) * 0.0150723 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41400,7 +47407,7 @@ void rate_He4_Ca47_to_n_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ca48_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ca48_to_n_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca48 + p --> n + Sc48 @@ -41415,9 +47422,13 @@ void rate_p_Ca48_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 196.239 + -7.0501 * tfactors.T9i + 149.725 * tfactors.T913i + -359.287 * tfactors.T913 + 24.8127 * tfactors.T9 + -1.57647 * tfactors.T953 + 151.916 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.0501 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 149.725 * tfactors.T943i + (1.0/3.0) * -359.287 * tfactors.T923i + 24.8127 + (5.0/3.0) * -1.57647 * tfactors.T923 + 151.916 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41432,7 +47443,7 @@ void rate_p_Ca48_to_n_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ca48_to_n_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ca48_to_n_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ca48 + He4 --> n + Ti51 @@ -41447,9 +47458,13 @@ void rate_He4_Ca48_to_n_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 72.5425 + -13.9828 * tfactors.T9i + 343.859 * tfactors.T913i + -441.137 * tfactors.T913 + 18.781 * tfactors.T9 + -0.911515 * tfactors.T953 + 254.789 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.9828 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 343.859 * tfactors.T943i + (1.0/3.0) * -441.137 * tfactors.T923i + 18.781 + (5.0/3.0) * -0.911515 * tfactors.T923 + 254.789 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41464,7 +47479,7 @@ void rate_He4_Ca48_to_n_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc43_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc43_to_p_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + n --> p + Ca43 @@ -41479,9 +47494,13 @@ void rate_n_Sc43_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.4535 + -0.494422 * tfactors.T913 + 0.261414 * tfactors.T9 + -0.0285528 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.494422 * tfactors.T923i + 0.261414 + (5.0/3.0) * -0.0285528 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41496,7 +47515,7 @@ void rate_n_Sc43_to_p_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc43_to_He4_K40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + n --> He4 + K40 @@ -41511,9 +47530,13 @@ void rate_n_Sc43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 10.3424 + -0.653091 * tfactors.T913 + 1.79632 * tfactors.T9 + -0.19216 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.653091 * tfactors.T923i + 1.79632 + (5.0/3.0) * -0.19216 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41528,7 +47551,7 @@ void rate_n_Sc43_to_He4_K40_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc43_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc43_to_He4_Ca40_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + p --> He4 + Ca40 @@ -41543,9 +47566,13 @@ void rate_p_Sc43_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41560,7 +47587,7 @@ void rate_p_Sc43_to_He4_Ca40_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc43_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc43_to_n_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + He4 --> n + V46 @@ -41575,9 +47602,13 @@ void rate_He4_Sc43_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 4.15978 + -55.2527 * tfactors.T9i + 6.99126 * tfactors.T913 + -0.552826 * tfactors.T9 + 0.0272052 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.2527 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.99126 * tfactors.T923i + -0.552826 + (5.0/3.0) * 0.0272052 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41592,7 +47623,7 @@ void rate_He4_Sc43_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc43_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc43_to_p_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc43 + He4 --> p + Ti46 @@ -41607,9 +47638,13 @@ void rate_He4_Sc43_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.3723 + -79.122 * tfactors.T913i + -0.495539 * tfactors.T913 + -0.618414 * tfactors.T9 + 0.0175873 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.122 * tfactors.T943i + (1.0/3.0) * -0.495539 * tfactors.T923i + -0.618414 + (5.0/3.0) * 0.0175873 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41624,7 +47659,7 @@ void rate_He4_Sc43_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc44_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc44_to_p_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + n --> p + Ca44 @@ -41639,9 +47674,13 @@ void rate_n_Sc44_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.9033 + -1.95318 * tfactors.T913 + 0.326277 * tfactors.T9 + -0.0205095 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.95318 * tfactors.T923i + 0.326277 + (5.0/3.0) * -0.0205095 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41656,7 +47695,7 @@ void rate_n_Sc44_to_p_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc44_to_He4_K41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + n --> He4 + K41 @@ -41671,9 +47710,13 @@ void rate_n_Sc44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 13.8809 + -7.79828 * tfactors.T913 + 4.55188 * tfactors.T9 + -0.667478 * tfactors.T953 + 1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -7.79828 * tfactors.T923i + 4.55188 + (5.0/3.0) * -0.667478 * tfactors.T923 + 1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41688,9 +47731,13 @@ void rate_n_Sc44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 13.4739 + -2.89121 * tfactors.T913 + 2.26347 * tfactors.T9 + -0.251579 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.89121 * tfactors.T923i + 2.26347 + (5.0/3.0) * -0.251579 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41705,7 +47752,7 @@ void rate_n_Sc44_to_He4_K41_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc44_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc44_to_n_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + p --> n + Ti44 @@ -41720,9 +47767,13 @@ void rate_p_Sc44_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 8.67946 + -12.1845 * tfactors.T9i + 4.3491 * tfactors.T913 + 0.421585 * tfactors.T9 + -0.0855256 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.1845 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.3491 * tfactors.T923i + 0.421585 + (5.0/3.0) * -0.0855256 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41737,7 +47788,7 @@ void rate_p_Sc44_to_n_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc44_to_He4_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + p --> He4 + Ca41 @@ -41752,9 +47803,13 @@ void rate_p_Sc44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.102 + -32.179 * tfactors.T913i + 13.8907 * tfactors.T913 + -3.30408 * tfactors.T9 + 0.332186 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.179 * tfactors.T943i + (1.0/3.0) * 13.8907 * tfactors.T923i + -3.30408 + (5.0/3.0) * 0.332186 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41769,7 +47824,7 @@ void rate_p_Sc44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc44_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc44_to_n_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + He4 --> n + V47 @@ -41784,9 +47839,13 @@ void rate_He4_Sc44_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -35.9521 + -16.9477 * tfactors.T9i + 31.743 * tfactors.T913 + -1.66241 * tfactors.T9 + -0.0278854 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 16.9477 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 31.743 * tfactors.T923i + -1.66241 + (5.0/3.0) * -0.0278854 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41801,7 +47860,7 @@ void rate_He4_Sc44_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc44_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc44_to_p_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc44 + He4 --> p + Ti47 @@ -41816,9 +47875,13 @@ void rate_He4_Sc44_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.5285 + -79.1731 * tfactors.T913i + -3.93328 * tfactors.T913 + 0.112908 * tfactors.T9 + -0.0385366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.1731 * tfactors.T943i + (1.0/3.0) * -3.93328 * tfactors.T923i + 0.112908 + (5.0/3.0) * -0.0385366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41833,7 +47896,7 @@ void rate_He4_Sc44_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc45_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc45_to_p_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + n --> p + Ca45 @@ -41848,9 +47911,13 @@ void rate_n_Sc45_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -3.98017 + 14.7265 * tfactors.T913 + -1.41914 * tfactors.T9 + 0.0785177 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 14.7265 * tfactors.T923i + -1.41914 + (5.0/3.0) * 0.0785177 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41865,7 +47932,7 @@ void rate_n_Sc45_to_p_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc45_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc45_to_n_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + p --> n + Ti45 @@ -41880,9 +47947,13 @@ void rate_p_Sc45_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.2443 + -33.0078 * tfactors.T9i + -1.6182 * tfactors.T913 + 0.577281 * tfactors.T9 + -0.0582774 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.0078 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.6182 * tfactors.T923i + 0.577281 + (5.0/3.0) * -0.0582774 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41897,7 +47968,7 @@ void rate_p_Sc45_to_n_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc45_to_He4_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + p --> He4 + Ca42 @@ -41912,9 +47983,13 @@ void rate_p_Sc45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.8284 + -32.1843 * tfactors.T913i + 14.0733 * tfactors.T913 + -3.38786 * tfactors.T9 + 0.349494 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -32.1843 * tfactors.T943i + (1.0/3.0) * 14.0733 * tfactors.T923i + -3.38786 + (5.0/3.0) * 0.349494 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41929,7 +48004,7 @@ void rate_p_Sc45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc45_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc45_to_n_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + He4 --> n + V48 @@ -41944,9 +48019,13 @@ void rate_He4_Sc45_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -7.04722 + -25.9803 * tfactors.T9i + 8.18067 * tfactors.T913 + 1.50465 * tfactors.T9 + -0.224564 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.9803 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.18067 * tfactors.T923i + 1.50465 + (5.0/3.0) * -0.224564 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41961,7 +48040,7 @@ void rate_He4_Sc45_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc45_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc45_to_p_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc45 + He4 --> p + Ti48 @@ -41976,9 +48055,13 @@ void rate_He4_Sc45_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.207 + -79.222 * tfactors.T913i + 0.0710184 * tfactors.T913 + -1.47173 * tfactors.T9 + 0.15944 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -79.222 * tfactors.T943i + (1.0/3.0) * 0.0710184 * tfactors.T923i + -1.47173 + (5.0/3.0) * 0.15944 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -41993,7 +48076,7 @@ void rate_He4_Sc45_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc46_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc46_to_p_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + n --> p + Ca46 @@ -42008,9 +48091,13 @@ void rate_n_Sc46_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 74.17 + -0.632473 * tfactors.T9i + 65.2318 * tfactors.T913i + -132.177 * tfactors.T913 + 8.05925 * tfactors.T9 + -0.425861 * tfactors.T953 + 59.0907 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.632473 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 65.2318 * tfactors.T943i + (1.0/3.0) * -132.177 * tfactors.T923i + 8.05925 + (5.0/3.0) * -0.425861 * tfactors.T923 + 59.0907 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42025,7 +48112,7 @@ void rate_n_Sc46_to_p_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc46_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc46_to_n_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + p --> n + Ti46 @@ -42040,9 +48127,13 @@ void rate_p_Sc46_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 120.144 + -5.3851 * tfactors.T9i + 200.092 * tfactors.T913i + -329.451 * tfactors.T913 + 18.1752 * tfactors.T9 + -1.01788 * tfactors.T953 + 164.827 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.3851 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 200.092 * tfactors.T943i + (1.0/3.0) * -329.451 * tfactors.T923i + 18.1752 + (5.0/3.0) * -1.01788 * tfactors.T923 + 164.827 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42057,7 +48148,7 @@ void rate_p_Sc46_to_n_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc46_to_He4_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + p --> He4 + Ca43 @@ -42072,9 +48163,13 @@ void rate_p_Sc46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 70.6373 + -5.26809 * tfactors.T9i + 189.856 * tfactors.T913i + -278.908 * tfactors.T913 + 13.9142 * tfactors.T9 + -0.770736 * tfactors.T953 + 153.141 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.26809 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 189.856 * tfactors.T943i + (1.0/3.0) * -278.908 * tfactors.T923i + 13.9142 + (5.0/3.0) * -0.770736 * tfactors.T923 + 153.141 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42089,7 +48184,7 @@ void rate_p_Sc46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc46_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc46_to_n_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + He4 --> n + V49 @@ -42104,9 +48199,13 @@ void rate_He4_Sc46_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -907.911 + 14.6583 * tfactors.T9i + -1592.71 * tfactors.T913i + 2609.63 * tfactors.T913 + -155.96 * tfactors.T9 + 8.94971 * tfactors.T953 + -1223.97 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -14.6583 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1592.71 * tfactors.T943i + (1.0/3.0) * 2609.63 * tfactors.T923i + -155.96 + (5.0/3.0) * 8.94971 * tfactors.T923 + -1223.97 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42121,7 +48220,7 @@ void rate_He4_Sc46_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc46_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc46_to_p_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc46 + He4 --> p + Ti49 @@ -42136,9 +48235,13 @@ void rate_He4_Sc46_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -938.441 + 14.7159 * tfactors.T9i + -1603.15 * tfactors.T913i + 2650.58 * tfactors.T913 + -159.776 * tfactors.T9 + 9.24163 * tfactors.T953 + -1237.15 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -14.7159 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1603.15 * tfactors.T943i + (1.0/3.0) * 2650.58 * tfactors.T923i + -159.776 + (5.0/3.0) * 9.24163 * tfactors.T923 + -1237.15 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42153,7 +48256,7 @@ void rate_He4_Sc46_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc47_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc47_to_p_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + n --> p + Ca47 @@ -42168,9 +48271,13 @@ void rate_n_Sc47_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 34.8341 + -14.0374 * tfactors.T9i + -31.164 * tfactors.T913i + -0.314533 * tfactors.T913 + -0.0979736 * tfactors.T9 + 0.00385901 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.0374 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.164 * tfactors.T943i + (1.0/3.0) * -0.314533 * tfactors.T923i + -0.0979736 + (5.0/3.0) * 0.00385901 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42185,7 +48292,7 @@ void rate_n_Sc47_to_p_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc47_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc47_to_n_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + p --> n + Ti47 @@ -42200,9 +48307,13 @@ void rate_p_Sc47_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -22.9861 + -2.11287 * tfactors.T9i + 30.6942 * tfactors.T913 + -3.81514 * tfactors.T9 + 0.263484 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.11287 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.6942 * tfactors.T923i + -3.81514 + (5.0/3.0) * 0.263484 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42217,7 +48328,7 @@ void rate_p_Sc47_to_n_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc47_to_He4_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + p --> He4 + Ca44 @@ -42232,9 +48343,13 @@ void rate_p_Sc47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 74.4575 + -5.79201 * tfactors.T9i + 224.282 * tfactors.T913i + -318.978 * tfactors.T913 + 15.9466 * tfactors.T9 + -0.877308 * tfactors.T953 + 174.938 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.79201 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 224.282 * tfactors.T943i + (1.0/3.0) * -318.978 * tfactors.T923i + 15.9466 + (5.0/3.0) * -0.877308 * tfactors.T923 + 174.938 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42249,7 +48364,7 @@ void rate_p_Sc47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc47_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc47_to_n_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + He4 --> n + V50 @@ -42264,9 +48379,13 @@ void rate_He4_Sc47_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -72.4729 + -8.78424 * tfactors.T9i + 66.0687 * tfactors.T913 + -8.06344 * tfactors.T9 + 0.527546 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.78424 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 66.0687 * tfactors.T923i + -8.06344 + (5.0/3.0) * 0.527546 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42281,7 +48400,7 @@ void rate_He4_Sc47_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc47_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc47_to_p_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc47 + He4 --> p + Ti50 @@ -42296,9 +48415,13 @@ void rate_He4_Sc47_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -980.428 + 14.926 * tfactors.T9i + -1637.36 * tfactors.T913i + 2730.59 * tfactors.T913 + -164.393 * tfactors.T9 + 9.47988 * tfactors.T953 + -1271.98 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -14.926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1637.36 * tfactors.T943i + (1.0/3.0) * 2730.59 * tfactors.T923i + -164.393 + (5.0/3.0) * 9.47988 * tfactors.T923 + -1271.98 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42313,7 +48436,7 @@ void rate_He4_Sc47_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Sc48_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Sc48_to_p_Ca48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + n --> p + Ca48 @@ -42328,9 +48451,13 @@ void rate_n_Sc48_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 193.674 + -1.20143 * tfactors.T9i + 149.725 * tfactors.T913i + -359.287 * tfactors.T913 + 24.8127 * tfactors.T9 + -1.57647 * tfactors.T953 + 151.916 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.20143 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 149.725 * tfactors.T943i + (1.0/3.0) * -359.287 * tfactors.T923i + 24.8127 + (5.0/3.0) * -1.57647 * tfactors.T923 + 151.916 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42345,7 +48472,7 @@ void rate_n_Sc48_to_p_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc48_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc48_to_n_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + p --> n + Ti48 @@ -42360,9 +48487,13 @@ void rate_p_Sc48_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 118.891 + -5.45559 * tfactors.T9i + 201.123 * tfactors.T913i + -329.189 * tfactors.T913 + 18.2769 * tfactors.T9 + -1.03382 * tfactors.T953 + 164.945 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.45559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 201.123 * tfactors.T943i + (1.0/3.0) * -329.189 * tfactors.T923i + 18.2769 + (5.0/3.0) * -1.03382 * tfactors.T923 + 164.945 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42377,7 +48508,7 @@ void rate_p_Sc48_to_n_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc48_to_He4_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + p --> He4 + Ca45 @@ -42392,9 +48523,13 @@ void rate_p_Sc48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 72.7227 + -5.86977 * tfactors.T9i + 239.338 * tfactors.T913i + -335.863 * tfactors.T913 + 14.1283 * tfactors.T9 + -0.596544 * tfactors.T953 + 190.967 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.86977 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 239.338 * tfactors.T943i + (1.0/3.0) * -335.863 * tfactors.T923i + 14.1283 + (5.0/3.0) * -0.596544 * tfactors.T923 + 190.967 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42409,7 +48544,7 @@ void rate_p_Sc48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc48_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc48_to_n_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + He4 --> n + V51 @@ -42424,9 +48559,13 @@ void rate_He4_Sc48_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -925.664 + 14.9263 * tfactors.T9i + -1621.99 * tfactors.T913i + 2659.5 * tfactors.T913 + -158.959 * tfactors.T9 + 9.12514 * tfactors.T953 + -1247.44 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -14.9263 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1621.99 * tfactors.T943i + (1.0/3.0) * 2659.5 * tfactors.T923i + -158.959 + (5.0/3.0) * 9.12514 * tfactors.T923 + -1247.44 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42441,7 +48580,7 @@ void rate_He4_Sc48_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc48_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc48_to_p_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc48 + He4 --> p + Ti51 @@ -42456,9 +48595,13 @@ void rate_He4_Sc48_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -846.099 + 17.271 * tfactors.T9i + -1740.8 * tfactors.T913i + 2683.45 * tfactors.T913 + -154.78 * tfactors.T9 + 8.68561 * tfactors.T953 + -1291.82 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -17.271 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1740.8 * tfactors.T943i + (1.0/3.0) * 2683.45 * tfactors.T923i + -154.78 + (5.0/3.0) * 8.68561 * tfactors.T923 + -1291.82 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42473,7 +48616,7 @@ void rate_He4_Sc48_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc49_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc49_to_n_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 + p --> n + Ti49 @@ -42488,9 +48631,13 @@ void rate_p_Sc49_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 120.282 + -5.52132 * tfactors.T9i + 204.555 * tfactors.T913i + -334.141 * tfactors.T913 + 18.5078 * tfactors.T9 + -1.04158 * tfactors.T953 + 167.483 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.52132 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 204.555 * tfactors.T943i + (1.0/3.0) * -334.141 * tfactors.T923i + 18.5078 + (5.0/3.0) * -1.04158 * tfactors.T923 + 167.483 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42505,7 +48652,7 @@ void rate_p_Sc49_to_n_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Sc49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Sc49_to_He4_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 + p --> He4 + Ca46 @@ -42520,9 +48667,13 @@ void rate_p_Sc49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 73.2396 + -5.66716 * tfactors.T9i + 218.203 * tfactors.T913i + -316.114 * tfactors.T913 + 14.9186 * tfactors.T9 + -0.720017 * tfactors.T953 + 174.788 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.66716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 218.203 * tfactors.T943i + (1.0/3.0) * -316.114 * tfactors.T923i + 14.9186 + (5.0/3.0) * -0.720017 * tfactors.T923 + 174.788 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42537,7 +48688,7 @@ void rate_p_Sc49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Sc49_to_n_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Sc49_to_n_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Sc49 + He4 --> n + V52 @@ -42552,9 +48703,13 @@ void rate_He4_Sc49_to_n_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -14.4353 + -11.0443 * tfactors.T9i + 174.784 * tfactors.T913i + -175.991 * tfactors.T913 + 2.92402 * tfactors.T9 + 0.0459501 * tfactors.T953 + 127.478 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.0443 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 174.784 * tfactors.T943i + (1.0/3.0) * -175.991 * tfactors.T923i + 2.92402 + (5.0/3.0) * 0.0459501 * tfactors.T923 + 127.478 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42569,7 +48724,7 @@ void rate_He4_Sc49_to_n_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti44_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti44_to_p_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + n --> p + Sc44 @@ -42584,9 +48739,13 @@ void rate_n_Ti44_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 10.2889 + 4.3491 * tfactors.T913 + 0.421585 * tfactors.T9 + -0.0855256 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.3491 * tfactors.T923i + 0.421585 + (5.0/3.0) * -0.0855256 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42601,7 +48760,7 @@ void rate_n_Ti44_to_p_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti44_to_He4_Ca41_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + n --> He4 + Ca41 @@ -42616,9 +48775,13 @@ void rate_n_Ti44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 7.51125 + 2.68094 * tfactors.T913 + 1.34285 * tfactors.T9 + -0.18134 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.68094 * tfactors.T923i + 1.34285 + (5.0/3.0) * -0.18134 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42633,7 +48796,7 @@ void rate_n_Ti44_to_He4_Ca41_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti44_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti44_to_p_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti44 + He4 --> p + V47 @@ -42648,9 +48811,13 @@ void rate_He4_Ti44_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42665,7 +48832,7 @@ void rate_He4_Ti44_to_p_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti45_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti45_to_p_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + n --> p + Sc45 @@ -42680,9 +48847,13 @@ void rate_n_Ti45_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.2443 + -1.6182 * tfactors.T913 + 0.577281 * tfactors.T9 + -0.0582774 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.6182 * tfactors.T923i + 0.577281 + (5.0/3.0) * -0.0582774 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42697,7 +48868,7 @@ void rate_n_Ti45_to_p_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti45_to_He4_Ca42_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + n --> He4 + Ca42 @@ -42712,9 +48883,13 @@ void rate_n_Ti45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.4413 + -1.31041 * tfactors.T913 + 0.516347 * tfactors.T9 + -0.0189198 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.31041 * tfactors.T923i + 0.516347 + (5.0/3.0) * -0.0189198 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42729,7 +48904,7 @@ void rate_n_Ti45_to_He4_Ca42_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti45_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti45_to_n_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + He4 --> n + Cr48 @@ -42744,9 +48919,13 @@ void rate_He4_Ti45_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -30.7717 + -21.2706 * tfactors.T9i + 29.3634 * tfactors.T913 + -2.63599 * tfactors.T9 + 0.159116 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.2706 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 29.3634 * tfactors.T923i + -2.63599 + (5.0/3.0) * 0.159116 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42761,7 +48940,7 @@ void rate_He4_Ti45_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti45_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti45_to_p_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti45 + He4 --> p + V48 @@ -42776,9 +48955,13 @@ void rate_He4_Ti45_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 54.1979 + -81.7175 * tfactors.T913i + 5.07471 * tfactors.T913 + -2.34907 * tfactors.T9 + 0.226169 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.7175 * tfactors.T943i + (1.0/3.0) * 5.07471 * tfactors.T923i + -2.34907 + (5.0/3.0) * 0.226169 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42793,7 +48976,7 @@ void rate_He4_Ti45_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti46_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti46_to_p_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + n --> p + Sc46 @@ -42808,9 +48991,13 @@ void rate_n_Ti46_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 122.341 + -23.7666 * tfactors.T9i + 200.092 * tfactors.T913i + -329.451 * tfactors.T913 + 18.1752 * tfactors.T9 + -1.01788 * tfactors.T953 + 164.827 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.7666 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 200.092 * tfactors.T943i + (1.0/3.0) * -329.451 * tfactors.T923i + 18.1752 + (5.0/3.0) * -1.01788 * tfactors.T923 + 164.827 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42825,7 +49012,7 @@ void rate_n_Ti46_to_p_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti46_to_He4_Ca43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + n --> He4 + Ca43 @@ -42840,9 +49027,13 @@ void rate_n_Ti46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 56.8289 + -0.793539 * tfactors.T9i + -76.5897 * tfactors.T913i + 3.69244 * tfactors.T913 + -1.90131 * tfactors.T9 + 0.171994 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.793539 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.5897 * tfactors.T943i + (1.0/3.0) * 3.69244 * tfactors.T923i + -1.90131 + (5.0/3.0) * 0.171994 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42857,7 +49048,7 @@ void rate_n_Ti46_to_He4_Ca43_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti46_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti46_to_n_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + p --> n + V46 @@ -42872,9 +49063,13 @@ void rate_p_Ti46_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 21.15 + -90.8951 * tfactors.T9i + -0.663329 * tfactors.T913 + 0.174849 * tfactors.T9 + -0.0157869 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 90.8951 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.663329 * tfactors.T923i + 0.174849 + (5.0/3.0) * -0.0157869 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42889,7 +49084,7 @@ void rate_p_Ti46_to_n_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti46_to_He4_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + p --> He4 + Sc43 @@ -42904,9 +49099,13 @@ void rate_p_Ti46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.7369 + -35.6425 * tfactors.T9i + -79.122 * tfactors.T913i + -0.495539 * tfactors.T913 + -0.618414 * tfactors.T9 + 0.0175873 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 35.6425 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.122 * tfactors.T943i + (1.0/3.0) * -0.495539 * tfactors.T923i + -0.618414 + (5.0/3.0) * 0.0175873 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42921,7 +49120,7 @@ void rate_p_Ti46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti46_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti46_to_n_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + He4 --> n + Cr49 @@ -42936,9 +49135,13 @@ void rate_He4_Ti46_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.9788 + -51.5163 * tfactors.T9i + -2.81456 * tfactors.T913 + 1.61029 * tfactors.T9 + -0.138467 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 51.5163 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.81456 * tfactors.T923i + 1.61029 + (5.0/3.0) * -0.138467 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42953,7 +49156,7 @@ void rate_He4_Ti46_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti46_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti46_to_p_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti46 + He4 --> p + V49 @@ -42968,9 +49171,13 @@ void rate_He4_Ti46_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -19.3117 + -11.9588 * tfactors.T9i + -34.217 * tfactors.T913i + 47.2584 * tfactors.T913 + -9.18871 * tfactors.T9 + 0.87823 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.9588 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.217 * tfactors.T943i + (1.0/3.0) * 47.2584 * tfactors.T923i + -9.18871 + (5.0/3.0) * 0.87823 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -42985,7 +49192,7 @@ void rate_He4_Ti46_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti47_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti47_to_p_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + n --> p + Sc47 @@ -43000,9 +49207,13 @@ void rate_n_Ti47_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -22.6984 + 30.6942 * tfactors.T913 + -3.81514 * tfactors.T9 + 0.263484 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 30.6942 * tfactors.T923i + -3.81514 + (5.0/3.0) * 0.263484 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43017,7 +49228,7 @@ void rate_n_Ti47_to_p_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti47_to_He4_Ca44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + n --> He4 + Ca44 @@ -43032,9 +49243,13 @@ void rate_n_Ti47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -3.94695 + 4.6504 * tfactors.T913 + 2.25932 * tfactors.T9 + -0.286843 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.6504 * tfactors.T923i + 2.25932 + (5.0/3.0) * -0.286843 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43049,7 +49264,7 @@ void rate_n_Ti47_to_He4_Ca44_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti47_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti47_to_n_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + p --> n + V47 @@ -43064,9 +49279,13 @@ void rate_p_Ti47_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.9856 + -43.0839 * tfactors.T9i + -0.897943 * tfactors.T913 + 0.233018 * tfactors.T9 + -0.0170844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 43.0839 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.897943 * tfactors.T923i + 0.233018 + (5.0/3.0) * -0.0170844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43081,7 +49300,7 @@ void rate_p_Ti47_to_n_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti47_to_He4_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + p --> He4 + Sc44 @@ -43096,9 +49315,13 @@ void rate_p_Ti47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.6335 + -26.1362 * tfactors.T9i + -79.1731 * tfactors.T913i + -3.93328 * tfactors.T913 + 0.112908 * tfactors.T9 + -0.0385366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.1362 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.1731 * tfactors.T943i + (1.0/3.0) * -3.93328 * tfactors.T923i + 0.112908 + (5.0/3.0) * -0.0385366 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43113,7 +49336,7 @@ void rate_p_Ti47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti47_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti47_to_n_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + He4 --> n + Cr50 @@ -43128,9 +49351,13 @@ void rate_He4_Ti47_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -111.793 + -3.70527 * tfactors.T9i + 104.649 * tfactors.T913 + -15.3856 * tfactors.T9 + 1.13897 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.70527 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 104.649 * tfactors.T923i + -15.3856 + (5.0/3.0) * 1.13897 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43145,7 +49372,7 @@ void rate_He4_Ti47_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti47_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti47_to_p_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti47 + He4 --> p + V50 @@ -43160,9 +49387,13 @@ void rate_He4_Ti47_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -51.1413 + -6.67137 * tfactors.T9i + -34.2216 * tfactors.T913i + 78.8919 * tfactors.T913 + -16.0561 * tfactors.T9 + 1.55251 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.67137 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 78.8919 * tfactors.T923i + -16.0561 + (5.0/3.0) * 1.55251 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43177,7 +49408,7 @@ void rate_He4_Ti47_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti48_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti48_to_p_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + n --> p + Sc48 @@ -43192,9 +49423,13 @@ void rate_n_Ti48_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 121.456 + -42.7176 * tfactors.T9i + 201.123 * tfactors.T913i + -329.189 * tfactors.T913 + 18.2769 * tfactors.T9 + -1.03382 * tfactors.T953 + 164.945 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 42.7176 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 201.123 * tfactors.T943i + (1.0/3.0) * -329.189 * tfactors.T923i + 18.2769 + (5.0/3.0) * -1.03382 * tfactors.T923 + 164.945 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43209,7 +49444,7 @@ void rate_n_Ti48_to_p_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti48_to_He4_Ca45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + n --> He4 + Ca45 @@ -43224,9 +49459,13 @@ void rate_n_Ti48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.4957 + -23.5499 * tfactors.T9i + -76.6866 * tfactors.T913i + -0.885239 * tfactors.T913 + -0.554755 * tfactors.T9 + 0.0189393 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.5499 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.6866 * tfactors.T943i + (1.0/3.0) * -0.885239 * tfactors.T923i + -0.554755 + (5.0/3.0) * 0.0189393 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43241,7 +49480,7 @@ void rate_n_Ti48_to_He4_Ca45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti48_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti48_to_n_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + p --> n + V48 @@ -43256,9 +49495,13 @@ void rate_p_Ti48_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 21.7458 + -55.64 * tfactors.T9i + -0.307045 * tfactors.T913 + 0.0615476 * tfactors.T9 + -0.00172407 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 55.64 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.307045 * tfactors.T923i + 0.0615476 + (5.0/3.0) * -0.00172407 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43273,7 +49516,7 @@ void rate_p_Ti48_to_n_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti48_to_He4_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + p --> He4 + Sc45 @@ -43288,9 +49531,13 @@ void rate_p_Ti48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.5759 + -29.6597 * tfactors.T9i + -79.222 * tfactors.T913i + 0.0710184 * tfactors.T913 + -1.47173 * tfactors.T9 + 0.15944 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.6597 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -79.222 * tfactors.T943i + (1.0/3.0) * 0.0710184 * tfactors.T923i + -1.47173 + (5.0/3.0) * 0.15944 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43305,7 +49552,7 @@ void rate_p_Ti48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti48_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti48_to_n_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + He4 --> n + Cr51 @@ -43320,9 +49567,13 @@ void rate_He4_Ti48_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 0.479256 + -31.1618 * tfactors.T9i + 1.94389 * tfactors.T913 + 2.5871 * tfactors.T9 + -0.307303 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.1618 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.94389 * tfactors.T923i + 2.5871 + (5.0/3.0) * -0.307303 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43337,7 +49588,7 @@ void rate_He4_Ti48_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti48_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti48_to_p_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti48 + He4 --> p + V51 @@ -43352,9 +49603,13 @@ void rate_He4_Ti48_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -12.9707 + -13.3498 * tfactors.T9i + -34.2261 * tfactors.T913i + 38.6574 * tfactors.T913 + -7.18743 * tfactors.T9 + 0.692255 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.3498 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2261 * tfactors.T943i + (1.0/3.0) * 38.6574 * tfactors.T923i + -7.18743 + (5.0/3.0) * 0.692255 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43369,7 +49624,7 @@ void rate_He4_Ti48_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti49_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti49_to_p_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + n --> p + Sc49 @@ -43384,9 +49639,13 @@ void rate_n_Ti49_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 120.282 + -19.7252 * tfactors.T9i + 204.555 * tfactors.T913i + -334.141 * tfactors.T913 + 18.5078 * tfactors.T9 + -1.04158 * tfactors.T953 + 167.483 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.7252 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 204.555 * tfactors.T943i + (1.0/3.0) * -334.141 * tfactors.T923i + 18.5078 + (5.0/3.0) * -1.04158 * tfactors.T923 + 167.483 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43401,7 +49660,7 @@ void rate_n_Ti49_to_p_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti49_to_He4_Ca46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + n --> He4 + Ca46 @@ -43416,9 +49675,13 @@ void rate_n_Ti49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -106.775 + 100.098 * tfactors.T913 + -14.6121 * tfactors.T9 + 1.09235 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 100.098 * tfactors.T923i + -14.6121 + (5.0/3.0) * 1.09235 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43433,7 +49696,7 @@ void rate_n_Ti49_to_He4_Ca46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti49_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti49_to_n_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + p --> n + V49 @@ -43448,9 +49711,13 @@ void rate_p_Ti49_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.9391 + -16.0629 * tfactors.T9i + -2.17107 * tfactors.T913 + 1.10014 * tfactors.T9 + -0.0944408 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 16.0629 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.17107 * tfactors.T923i + 1.10014 + (5.0/3.0) * -0.0944408 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43465,7 +49732,7 @@ void rate_p_Ti49_to_n_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti49_to_He4_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + p --> He4 + Sc46 @@ -43480,9 +49747,13 @@ void rate_p_Ti49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -937.032 + -7.73881 * tfactors.T9i + -1603.15 * tfactors.T913i + 2650.58 * tfactors.T913 + -159.776 * tfactors.T9 + 9.24163 * tfactors.T953 + -1237.15 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.73881 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1603.15 * tfactors.T943i + (1.0/3.0) * 2650.58 * tfactors.T923i + -159.776 + (5.0/3.0) * 9.24163 * tfactors.T923 + -1237.15 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43497,7 +49768,7 @@ void rate_p_Ti49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti49_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti49_to_n_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + He4 --> n + Cr52 @@ -43512,9 +49783,13 @@ void rate_He4_Ti49_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.814 + -81.8999 * tfactors.T913i + -0.331496 * tfactors.T913 + -0.758416 * tfactors.T9 + 0.0413394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -81.8999 * tfactors.T943i + (1.0/3.0) * -0.331496 * tfactors.T923i + -0.758416 + (5.0/3.0) * 0.0413394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43529,7 +49804,7 @@ void rate_He4_Ti49_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti49_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti49_to_p_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti49 + He4 --> p + V52 @@ -43544,9 +49819,13 @@ void rate_He4_Ti49_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 59.4896 + -28.9283 * tfactors.T9i + 209.633 * tfactors.T913i + -291.46 * tfactors.T913 + 13.4258 * tfactors.T9 + -0.668366 * tfactors.T953 + 164.685 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.9283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 209.633 * tfactors.T943i + (1.0/3.0) * -291.46 * tfactors.T923i + 13.4258 + (5.0/3.0) * -0.668366 * tfactors.T923 + 164.685 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43561,7 +49840,7 @@ void rate_He4_Ti49_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti50_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti50_to_He4_Ca47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + n --> He4 + Ca47 @@ -43576,9 +49855,13 @@ void rate_n_Ti50_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.7989 + -39.9212 * tfactors.T9i + -76.7758 * tfactors.T913i + -0.981924 * tfactors.T913 + -0.52791 * tfactors.T9 + 0.0150723 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.9212 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.7758 * tfactors.T943i + (1.0/3.0) * -0.981924 * tfactors.T923i + -0.52791 + (5.0/3.0) * 0.0150723 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43593,7 +49876,7 @@ void rate_n_Ti50_to_He4_Ca47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti50_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti50_to_n_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + p --> n + V50 @@ -43608,9 +49891,13 @@ void rate_p_Ti50_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 4.70506 + -34.668 * tfactors.T9i + 13.156 * tfactors.T913 + -2.27428 * tfactors.T9 + 0.204692 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 34.668 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.156 * tfactors.T923i + -2.27428 + (5.0/3.0) * 0.204692 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43625,7 +49912,7 @@ void rate_p_Ti50_to_n_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti50_to_He4_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + p --> He4 + Sc47 @@ -43640,9 +49927,13 @@ void rate_p_Ti50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -977.055 + -10.952 * tfactors.T9i + -1637.36 * tfactors.T913i + 2730.59 * tfactors.T913 + -164.393 * tfactors.T9 + 9.47988 * tfactors.T953 + -1271.98 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1637.36 * tfactors.T943i + (1.0/3.0) * 2730.59 * tfactors.T923i + -164.393 + (5.0/3.0) * 9.47988 * tfactors.T923 + -1271.98 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43657,7 +49948,7 @@ void rate_p_Ti50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti50_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti50_to_n_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti50 + He4 --> n + Cr53 @@ -43672,9 +49963,13 @@ void rate_He4_Ti50_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.5021 + -20.7527 * tfactors.T9i + 21.17 * tfactors.T913 + -0.195248 * tfactors.T9 + -0.121068 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.7527 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.17 * tfactors.T923i + -0.195248 + (5.0/3.0) * -0.121068 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43689,7 +49984,7 @@ void rate_He4_Ti50_to_n_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ti51_to_He4_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ti51_to_He4_Ca48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 + n --> He4 + Ca48 @@ -43704,9 +49999,13 @@ void rate_n_Ti51_to_He4_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 72.4516 + -12.4162 * tfactors.T9i + 343.859 * tfactors.T913i + -441.137 * tfactors.T913 + 18.781 * tfactors.T9 + -0.911515 * tfactors.T953 + 254.789 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.4162 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 343.859 * tfactors.T943i + (1.0/3.0) * -441.137 * tfactors.T923i + 18.781 + (5.0/3.0) * -0.911515 * tfactors.T923 + 254.789 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43721,7 +50020,7 @@ void rate_n_Ti51_to_He4_Ca48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti51_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti51_to_n_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 + p --> n + V51 @@ -43736,9 +50035,13 @@ void rate_p_Ti51_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 121.807 + -5.7807 * tfactors.T9i + 213.317 * tfactors.T913i + -345.382 * tfactors.T913 + 19.0423 * tfactors.T9 + -1.06972 * tfactors.T953 + 173.788 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.7807 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 213.317 * tfactors.T943i + (1.0/3.0) * -345.382 * tfactors.T923i + 19.0423 + (5.0/3.0) * -1.06972 * tfactors.T923 + 173.788 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43753,7 +50056,7 @@ void rate_p_Ti51_to_n_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ti51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ti51_to_He4_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 + p --> He4 + Sc48 @@ -43768,9 +50071,13 @@ void rate_p_Ti51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -843.625 + 12.9889 * tfactors.T9i + -1740.8 * tfactors.T913i + 2683.45 * tfactors.T913 + -154.78 * tfactors.T9 + 8.68561 * tfactors.T953 + -1291.82 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -12.9889 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1740.8 * tfactors.T943i + (1.0/3.0) * 2683.45 * tfactors.T923i + -154.78 + (5.0/3.0) * 8.68561 * tfactors.T923 + -1291.82 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43785,7 +50092,7 @@ void rate_p_Ti51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ti51_to_n_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ti51_to_n_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ti51 + He4 --> n + Cr54 @@ -43800,9 +50107,13 @@ void rate_He4_Ti51_to_n_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -987.778 + 15.8616 * tfactors.T9i + -1722.81 * tfactors.T913i + 2829.38 * tfactors.T913 + -169.068 * tfactors.T9 + 9.70315 * tfactors.T953 + -1326.98 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -15.8616 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1722.81 * tfactors.T943i + (1.0/3.0) * 2829.38 * tfactors.T923i + -169.068 + (5.0/3.0) * 9.70315 * tfactors.T923 + -1326.98 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43817,7 +50128,7 @@ void rate_He4_Ti51_to_n_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V46_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V46_to_p_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 + n --> p + Ti46 @@ -43832,9 +50143,13 @@ void rate_n_V46_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 21.15 + -0.663329 * tfactors.T913 + 0.174849 * tfactors.T9 + -0.0157869 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.663329 * tfactors.T923i + 0.174849 + (5.0/3.0) * -0.0157869 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43849,7 +50164,7 @@ void rate_n_V46_to_p_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V46_to_He4_Sc43_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 + n --> He4 + Sc43 @@ -43864,9 +50179,13 @@ void rate_n_V46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 7.52435 + 6.99126 * tfactors.T913 + -0.552826 * tfactors.T9 + 0.0272052 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.99126 * tfactors.T923i + -0.552826 + (5.0/3.0) * 0.0272052 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43881,7 +50200,7 @@ void rate_n_V46_to_He4_Sc43_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V46_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V46_to_p_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V46 + He4 --> p + Cr49 @@ -43896,9 +50215,13 @@ void rate_He4_V46_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 59.798 + -84.2255 * tfactors.T913i + -1.09776 * tfactors.T913 + -0.495216 * tfactors.T9 + 0.0124719 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.2255 * tfactors.T943i + (1.0/3.0) * -1.09776 * tfactors.T923i + -0.495216 + (5.0/3.0) * 0.0124719 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43913,7 +50236,7 @@ void rate_He4_V46_to_p_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V47_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V47_to_p_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + n --> p + Ti47 @@ -43928,9 +50251,13 @@ void rate_n_V47_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.3911 + -0.897943 * tfactors.T913 + 0.233018 * tfactors.T9 + -0.0170844 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.897943 * tfactors.T923i + 0.233018 + (5.0/3.0) * -0.0170844 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43945,7 +50272,7 @@ void rate_n_V47_to_p_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V47_to_He4_Sc44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + n --> He4 + Sc44 @@ -43960,9 +50287,13 @@ void rate_n_V47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -34.4416 + 31.743 * tfactors.T913 + -1.66241 * tfactors.T9 + -0.0278854 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 31.743 * tfactors.T923i + -1.66241 + (5.0/3.0) * -0.0278854 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -43977,7 +50308,7 @@ void rate_n_V47_to_He4_Sc44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V47_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V47_to_He4_Ti44_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + p --> He4 + Ti44 @@ -43992,9 +50323,13 @@ void rate_p_V47_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -76.6143 + -6.02945 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.02945 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44009,7 +50344,7 @@ void rate_p_V47_to_He4_Ti44_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V47_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V47_to_n_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + He4 --> n + Mn50 @@ -44024,9 +50359,13 @@ void rate_He4_V47_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 10.0783 + -58.2736 * tfactors.T9i + 0.0723126 * tfactors.T913 + 0.772457 * tfactors.T9 + -0.0591176 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.2736 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.0723126 * tfactors.T923i + 0.772457 + (5.0/3.0) * -0.0591176 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44041,7 +50380,7 @@ void rate_He4_V47_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V47_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V47_to_p_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V47 + He4 --> p + Cr50 @@ -44056,9 +50395,13 @@ void rate_He4_V47_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 59.9106 + -84.2732 * tfactors.T913i + -1.10027 * tfactors.T913 + -0.487084 * tfactors.T9 + 0.00453269 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.2732 * tfactors.T943i + (1.0/3.0) * -1.10027 * tfactors.T923i + -0.487084 + (5.0/3.0) * 0.00453269 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44073,7 +50416,7 @@ void rate_He4_V47_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V48_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V48_to_p_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + n --> p + Ti48 @@ -44088,9 +50431,13 @@ void rate_n_V48_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 19.5486 + -0.307045 * tfactors.T913 + 0.0615476 * tfactors.T9 + -0.00172407 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.307045 * tfactors.T923i + 0.0615476 + (5.0/3.0) * -0.00172407 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44105,7 +50452,7 @@ void rate_n_V48_to_p_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V48_to_He4_Sc45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + n --> He4 + Sc45 @@ -44120,9 +50467,13 @@ void rate_n_V48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -5.87552 + 8.18067 * tfactors.T913 + 1.50465 * tfactors.T9 + -0.224564 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 8.18067 * tfactors.T923i + 1.50465 + (5.0/3.0) * -0.224564 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44137,7 +50488,7 @@ void rate_n_V48_to_He4_Sc45_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V48_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V48_to_n_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + p --> n + Cr48 @@ -44152,9 +50503,13 @@ void rate_p_V48_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 14.7028 + -28.2982 * tfactors.T9i + 0.783544 * tfactors.T913 + 0.521131 * tfactors.T9 + -0.0677724 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.2982 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.783544 * tfactors.T923i + 0.521131 + (5.0/3.0) * -0.0677724 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44169,7 +50524,7 @@ void rate_p_V48_to_n_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V48_to_He4_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + p --> He4 + Ti45 @@ -44184,9 +50539,13 @@ void rate_p_V48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 55.3696 + -7.0276 * tfactors.T9i + -81.7175 * tfactors.T913i + 5.07471 * tfactors.T913 + -2.34907 * tfactors.T9 + 0.226169 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.0276 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.7175 * tfactors.T943i + (1.0/3.0) * 5.07471 * tfactors.T923i + -2.34907 + (5.0/3.0) * 0.226169 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44201,7 +50560,7 @@ void rate_p_V48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V48_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V48_to_n_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + He4 --> n + Mn51 @@ -44216,9 +50575,13 @@ void rate_He4_V48_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -25.5516 + -21.8217 * tfactors.T9i + 20.8632 * tfactors.T913 + 0.466645 * tfactors.T9 + -0.196969 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.8217 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 20.8632 * tfactors.T923i + 0.466645 + (5.0/3.0) * -0.196969 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44233,7 +50596,7 @@ void rate_He4_V48_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V48_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V48_to_p_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V48 + He4 --> p + Cr51 @@ -44248,9 +50611,13 @@ void rate_He4_V48_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9483 + -84.3192 * tfactors.T913i + -1.84683 * tfactors.T913 + -0.459124 * tfactors.T9 + 0.00700566 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.3192 * tfactors.T943i + (1.0/3.0) * -1.84683 * tfactors.T923i + -0.459124 + (5.0/3.0) * 0.00700566 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44265,7 +50632,7 @@ void rate_He4_V48_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V49_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V49_to_p_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + n --> p + Ti49 @@ -44280,9 +50647,13 @@ void rate_n_V49_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.9391 + -2.17107 * tfactors.T913 + 1.10014 * tfactors.T9 + -0.0944408 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.17107 * tfactors.T923i + 1.10014 + (5.0/3.0) * -0.0944408 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44297,7 +50668,7 @@ void rate_n_V49_to_p_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V49_to_He4_Sc46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + n --> He4 + Sc46 @@ -44312,9 +50683,13 @@ void rate_n_V49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -906.502 + 8.26422 * tfactors.T9i + -1592.71 * tfactors.T913i + 2609.63 * tfactors.T913 + -155.96 * tfactors.T9 + 8.94971 * tfactors.T953 + -1223.97 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -8.26422 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1592.71 * tfactors.T943i + (1.0/3.0) * 2609.63 * tfactors.T923i + -155.96 + (5.0/3.0) * 8.94971 * tfactors.T923 + -1223.97 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44329,7 +50704,7 @@ void rate_n_V49_to_He4_Sc46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V49_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V49_to_n_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + p --> n + Cr49 @@ -44344,9 +50719,13 @@ void rate_p_V49_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.8188 + -39.5575 * tfactors.T9i + -1.62261 * tfactors.T913 + 0.507111 * tfactors.T9 + -0.0492268 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.5575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.62261 * tfactors.T923i + 0.507111 + (5.0/3.0) * -0.0492268 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44361,7 +50740,7 @@ void rate_p_V49_to_n_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V49_to_He4_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + p --> He4 + Ti46 @@ -44376,9 +50755,13 @@ void rate_p_V49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -20.0996 + -34.217 * tfactors.T913i + 47.2584 * tfactors.T913 + -9.18871 * tfactors.T9 + 0.87823 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.217 * tfactors.T943i + (1.0/3.0) * 47.2584 * tfactors.T923i + -9.18871 + (5.0/3.0) * 0.87823 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44393,7 +50776,7 @@ void rate_p_V49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V49_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V49_to_n_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + He4 --> n + Mn52 @@ -44408,9 +50791,13 @@ void rate_He4_V49_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -3.10657 + -33.6287 * tfactors.T9i + 5.72895 * tfactors.T913 + 1.74506 * tfactors.T9 + -0.232362 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.6287 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.72895 * tfactors.T923i + 1.74506 + (5.0/3.0) * -0.232362 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44425,7 +50812,7 @@ void rate_He4_V49_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V49_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V49_to_p_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V49 + He4 --> p + Cr52 @@ -44440,9 +50827,13 @@ void rate_He4_V49_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 57.428 + -84.3633 * tfactors.T913i + 2.73419 * tfactors.T913 + -2.05655 * tfactors.T9 + 0.203834 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.3633 * tfactors.T943i + (1.0/3.0) * 2.73419 * tfactors.T923i + -2.05655 + (5.0/3.0) * 0.203834 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44457,7 +50848,7 @@ void rate_He4_V49_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V50_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V50_to_p_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + n --> p + Ti50 @@ -44472,9 +50863,13 @@ void rate_n_V50_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 2.14011 + 13.156 * tfactors.T913 + -2.27428 * tfactors.T9 + 0.204692 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 13.156 * tfactors.T923i + -2.27428 + (5.0/3.0) * 0.204692 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44489,7 +50884,7 @@ void rate_n_V50_to_p_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V50_to_He4_Sc47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + n --> He4 + Sc47 @@ -44504,9 +50899,13 @@ void rate_n_V50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -71.6649 + 66.0687 * tfactors.T913 + -8.06344 * tfactors.T9 + 0.527546 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 66.0687 * tfactors.T923i + -8.06344 + (5.0/3.0) * 0.527546 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44521,7 +50920,7 @@ void rate_n_V50_to_He4_Sc47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V50_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V50_to_n_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + p --> n + Cr50 @@ -44536,9 +50935,13 @@ void rate_p_V50_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 17.9003 + -34.2216 * tfactors.T913i + 18.9337 * tfactors.T913 + -4.3348 * tfactors.T9 + 0.409807 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 18.9337 * tfactors.T923i + -4.3348 + (5.0/3.0) * 0.409807 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44553,7 +50956,7 @@ void rate_p_V50_to_n_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V50_to_He4_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + p --> He4 + Ti47 @@ -44568,9 +50971,13 @@ void rate_p_V50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -50.621 + -34.2216 * tfactors.T913i + 78.8919 * tfactors.T913 + -16.0561 * tfactors.T9 + 1.55251 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 78.8919 * tfactors.T923i + -16.0561 + (5.0/3.0) * 1.55251 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44585,7 +50992,7 @@ void rate_p_V50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V50_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V50_to_n_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + He4 --> n + Mn53 @@ -44600,9 +51007,13 @@ void rate_He4_V50_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -124.679 + -2.0894 * tfactors.T9i + 115.52 * tfactors.T913 + -16.7944 * tfactors.T9 + 1.23427 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.0894 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 115.52 * tfactors.T923i + -16.7944 + (5.0/3.0) * 1.23427 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44617,7 +51028,7 @@ void rate_He4_V50_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V50_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V50_to_p_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V50 + He4 --> p + Cr53 @@ -44632,9 +51043,13 @@ void rate_He4_V50_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 43.0514 + -84.4058 * tfactors.T913i + 13.5454 * tfactors.T913 + -3.26175 * tfactors.T9 + 0.249401 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -84.4058 * tfactors.T943i + (1.0/3.0) * 13.5454 * tfactors.T923i + -3.26175 + (5.0/3.0) * 0.249401 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44649,7 +51064,7 @@ void rate_He4_V50_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V51_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V51_to_p_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + n --> p + Ti51 @@ -44664,9 +51079,13 @@ void rate_n_V51_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 121.114 + -25.3807 * tfactors.T9i + 213.317 * tfactors.T913i + -345.382 * tfactors.T913 + 19.0423 * tfactors.T9 + -1.06972 * tfactors.T953 + 173.788 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.3807 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 213.317 * tfactors.T943i + (1.0/3.0) * -345.382 * tfactors.T923i + 19.0423 + (5.0/3.0) * -1.06972 * tfactors.T923 + 173.788 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44681,7 +51100,7 @@ void rate_n_V51_to_p_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V51_to_He4_Sc48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + n --> He4 + Sc48 @@ -44696,9 +51115,13 @@ void rate_n_V51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -923.883 + -8.95576 * tfactors.T9i + -1621.99 * tfactors.T913i + 2659.5 * tfactors.T913 + -158.959 * tfactors.T9 + 9.12514 * tfactors.T953 + -1247.44 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.95576 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1621.99 * tfactors.T943i + (1.0/3.0) * 2659.5 * tfactors.T923i + -158.959 + (5.0/3.0) * 9.12514 * tfactors.T923 + -1247.44 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44713,7 +51136,7 @@ void rate_n_V51_to_He4_Sc48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V51_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V51_to_n_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + p --> n + Cr51 @@ -44728,9 +51151,13 @@ void rate_p_V51_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.1388 + -17.812 * tfactors.T9i + -0.462299 * tfactors.T913 + 0.925265 * tfactors.T9 + -0.103818 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.812 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.462299 * tfactors.T923i + 0.925265 + (5.0/3.0) * -0.103818 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44745,7 +51172,7 @@ void rate_p_V51_to_n_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V51_to_He4_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + p --> He4 + Ti48 @@ -44760,9 +51187,13 @@ void rate_p_V51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.7548 + -34.2261 * tfactors.T913i + 38.6574 * tfactors.T913 + -7.18743 * tfactors.T9 + 0.692255 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -34.2261 * tfactors.T943i + (1.0/3.0) * 38.6574 * tfactors.T923i + -7.18743 + (5.0/3.0) * 0.692255 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44777,7 +51208,7 @@ void rate_p_V51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V51_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V51_to_n_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + He4 --> n + Mn54 @@ -44792,9 +51223,13 @@ void rate_He4_V51_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -8.83794 + -26.6023 * tfactors.T9i + 7.07865 * tfactors.T913 + 2.24997 * tfactors.T9 + -0.318964 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.6023 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.07865 * tfactors.T923i + 2.24997 + (5.0/3.0) * -0.318964 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44809,7 +51244,7 @@ void rate_He4_V51_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V51_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V51_to_p_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V51 + He4 --> p + Cr54 @@ -44824,9 +51259,13 @@ void rate_He4_V51_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -98.078 + -1.54216 * tfactors.T9i + -35.2237 * tfactors.T913i + 131.726 * tfactors.T913 + -29.7395 * tfactors.T9 + 3.03809 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.54216 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.2237 * tfactors.T943i + (1.0/3.0) * 131.726 * tfactors.T923i + -29.7395 + (5.0/3.0) * 3.03809 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44841,7 +51280,7 @@ void rate_He4_V51_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_V52_to_He4_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_V52_to_He4_Sc49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 + n --> He4 + Sc49 @@ -44856,9 +51295,13 @@ void rate_n_V52_to_He4_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -13.0046 + -2.2017 * tfactors.T9i + 174.784 * tfactors.T913i + -175.991 * tfactors.T913 + 2.92402 * tfactors.T9 + 0.0459501 * tfactors.T953 + 127.478 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.2017 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 174.784 * tfactors.T943i + (1.0/3.0) * -175.991 * tfactors.T923i + 2.92402 + (5.0/3.0) * 0.0459501 * tfactors.T923 + 127.478 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44873,7 +51316,7 @@ void rate_n_V52_to_He4_Sc49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V52_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V52_to_n_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 + p --> n + Cr52 @@ -44888,9 +51331,13 @@ void rate_p_V52_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 130.283 + -6.04059 * tfactors.T9i + 225.572 * tfactors.T913i + -367.914 * tfactors.T913 + 20.4967 * tfactors.T9 + -1.16016 * tfactors.T953 + 184.15 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.04059 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 225.572 * tfactors.T943i + (1.0/3.0) * -367.914 * tfactors.T923i + 20.4967 + (5.0/3.0) * -1.16016 * tfactors.T923 + 184.15 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44905,7 +51352,7 @@ void rate_p_V52_to_n_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_V52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_V52_to_He4_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 + p --> He4 + Ti49 @@ -44920,9 +51367,13 @@ void rate_p_V52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.9203 + -5.89339 * tfactors.T9i + 209.633 * tfactors.T913i + -291.46 * tfactors.T913 + 13.4258 * tfactors.T9 + -0.668366 * tfactors.T953 + 164.685 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.89339 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 209.633 * tfactors.T943i + (1.0/3.0) * -291.46 * tfactors.T923i + 13.4258 + (5.0/3.0) * -0.668366 * tfactors.T923 + 164.685 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44937,7 +51388,7 @@ void rate_p_V52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_V52_to_n_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_V52_to_n_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // V52 + He4 --> n + Mn55 @@ -44952,9 +51403,13 @@ void rate_He4_V52_to_n_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1026.77 + 16.489 * tfactors.T9i + -1790.25 * tfactors.T913i + 2939.64 * tfactors.T913 + -175.533 * tfactors.T9 + 10.0701 * tfactors.T953 + -1379.09 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -16.489 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1790.25 * tfactors.T943i + (1.0/3.0) * 2939.64 * tfactors.T923i + -175.533 + (5.0/3.0) * 10.0701 * tfactors.T923 + -1379.09 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -44969,7 +51424,7 @@ void rate_He4_V52_to_n_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr48_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr48_to_p_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + n --> p + V48 @@ -44984,9 +51439,13 @@ void rate_n_Cr48_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 16.9 + 0.783544 * tfactors.T913 + 0.521131 * tfactors.T9 + -0.0677724 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.783544 * tfactors.T923i + 0.521131 + (5.0/3.0) * -0.0677724 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45001,7 +51460,7 @@ void rate_n_Cr48_to_p_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr48_to_He4_Ti45_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + n --> He4 + Ti45 @@ -45016,9 +51475,13 @@ void rate_n_Cr48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -27.4028 + 29.3634 * tfactors.T913 + -2.63599 * tfactors.T9 + 0.159116 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 29.3634 * tfactors.T923i + -2.63599 + (5.0/3.0) * 0.159116 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45033,7 +51496,7 @@ void rate_n_Cr48_to_He4_Ti45_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr48 + He4 --> p + Mn51 @@ -45048,9 +51511,13 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45065,7 +51532,7 @@ void rate_He4_Cr48_to_p_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr49_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr49_to_p_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + n --> p + V49 @@ -45080,9 +51547,13 @@ void rate_n_Cr49_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 21.1065 + -1.62261 * tfactors.T913 + 0.507111 * tfactors.T9 + -0.0492268 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.62261 * tfactors.T923i + 0.507111 + (5.0/3.0) * -0.0492268 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45097,7 +51568,7 @@ void rate_n_Cr49_to_p_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr49_to_He4_Ti46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + n --> He4 + Ti46 @@ -45112,9 +51583,13 @@ void rate_n_Cr49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.4786 + -2.81456 * tfactors.T913 + 1.61029 * tfactors.T9 + -0.138467 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.81456 * tfactors.T923i + 1.61029 + (5.0/3.0) * -0.138467 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45129,7 +51604,7 @@ void rate_n_Cr49_to_He4_Ti46_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr49_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr49_to_He4_V46_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + p --> He4 + V46 @@ -45144,9 +51619,13 @@ void rate_p_Cr49_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 59.2978 + -39.3789 * tfactors.T9i + -84.2255 * tfactors.T913i + -1.09776 * tfactors.T913 + -0.495216 * tfactors.T9 + 0.0124719 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.3789 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.2255 * tfactors.T943i + (1.0/3.0) * -1.09776 * tfactors.T923i + -0.495216 + (5.0/3.0) * 0.0124719 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45161,7 +51640,7 @@ void rate_p_Cr49_to_He4_V46_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr49_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr49_to_n_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + He4 --> n + Fe52 @@ -45176,9 +51655,13 @@ void rate_He4_Cr49_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -14.2485 + -30.697 * tfactors.T9i + 14.3781 * tfactors.T913 + 0.0859569 * tfactors.T9 + -0.0900604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.697 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 14.3781 * tfactors.T923i + 0.0859569 + (5.0/3.0) * -0.0900604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45193,7 +51676,7 @@ void rate_He4_Cr49_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr49_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr49_to_p_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr49 + He4 --> p + Mn52 @@ -45208,9 +51691,13 @@ void rate_He4_Cr49_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 52.5075 + -86.7913 * tfactors.T913i + 10.6892 * tfactors.T913 + -4.01586 * tfactors.T9 + 0.411275 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -86.7913 * tfactors.T943i + (1.0/3.0) * 10.6892 * tfactors.T923i + -4.01586 + (5.0/3.0) * 0.411275 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45225,7 +51712,7 @@ void rate_He4_Cr49_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr50_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr50_to_p_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + n --> p + V50 @@ -45240,9 +51727,13 @@ void rate_n_Cr50_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 20.4653 + -2.9661 * tfactors.T9i + -34.2216 * tfactors.T913i + 18.9337 * tfactors.T913 + -4.3348 * tfactors.T9 + 0.409807 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.9661 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.2216 * tfactors.T943i + (1.0/3.0) * 18.9337 * tfactors.T923i + -4.3348 + (5.0/3.0) * 0.409807 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45257,7 +51748,7 @@ void rate_n_Cr50_to_p_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr50_to_He4_Ti47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + n --> He4 + Ti47 @@ -45272,9 +51763,13 @@ void rate_n_Cr50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -108.708 + 104.649 * tfactors.T913 + -15.3856 * tfactors.T9 + 1.13897 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 104.649 * tfactors.T923i + -15.3856 + (5.0/3.0) * 1.13897 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45289,7 +51784,7 @@ void rate_n_Cr50_to_He4_Ti47_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr50_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr50_to_n_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + p --> n + Mn50 @@ -45304,9 +51799,13 @@ void rate_p_Cr50_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.5859 + -97.6522 * tfactors.T9i + -1.04612 * tfactors.T913 + 0.340541 * tfactors.T9 + -0.0370932 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 97.6522 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.04612 * tfactors.T923i + 0.340541 + (5.0/3.0) * -0.0370932 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45321,7 +51820,7 @@ void rate_p_Cr50_to_n_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr50_to_He4_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + p --> He4 + V47 @@ -45336,9 +51835,13 @@ void rate_p_Cr50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 62.5904 + -39.3786 * tfactors.T9i + -84.2732 * tfactors.T913i + -1.10027 * tfactors.T913 + -0.487084 * tfactors.T9 + 0.00453269 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 39.3786 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.2732 * tfactors.T943i + (1.0/3.0) * -1.10027 * tfactors.T923i + -0.487084 + (5.0/3.0) * 0.00453269 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45353,7 +51856,7 @@ void rate_p_Cr50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr50_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr50_to_n_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + He4 --> n + Fe53 @@ -45368,9 +51871,13 @@ void rate_He4_Cr50_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.8056 + -57.5651 * tfactors.T9i + -0.146952 * tfactors.T913 + 1.12217 * tfactors.T9 + -0.10318 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 57.5651 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.146952 * tfactors.T923i + 1.12217 + (5.0/3.0) * -0.10318 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45385,7 +51892,7 @@ void rate_He4_Cr50_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr50_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr50_to_p_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr50 + He4 --> p + Mn53 @@ -45400,9 +51907,13 @@ void rate_He4_Cr50_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -67.5619 + -5.0555 * tfactors.T9i + -36.1913 * tfactors.T913i + 99.0857 * tfactors.T913 + -20.8943 * tfactors.T9 + 2.06209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.0555 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1913 * tfactors.T943i + (1.0/3.0) * 99.0857 * tfactors.T923i + -20.8943 + (5.0/3.0) * 2.06209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45417,7 +51928,7 @@ void rate_He4_Cr50_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr51_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr51_to_p_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + n --> p + V51 @@ -45432,9 +51943,13 @@ void rate_n_Cr51_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 15.1388 + -0.462299 * tfactors.T913 + 0.925265 * tfactors.T9 + -0.103818 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.462299 * tfactors.T923i + 0.925265 + (5.0/3.0) * -0.103818 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45449,7 +51964,7 @@ void rate_n_Cr51_to_p_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr51_to_He4_Ti48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + n --> He4 + Ti48 @@ -45464,9 +51979,13 @@ void rate_n_Cr51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.304828 + 1.94389 * tfactors.T913 + 2.5871 * tfactors.T9 + -0.307303 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.94389 * tfactors.T923i + 2.5871 + (5.0/3.0) * -0.307303 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45481,7 +52000,7 @@ void rate_n_Cr51_to_He4_Ti48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr51_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr51_to_n_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + p --> n + Mn51 @@ -45496,9 +52015,13 @@ void rate_p_Cr51_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.6943 + -46.2998 * tfactors.T9i + -1.37768 * tfactors.T913 + 0.466991 * tfactors.T9 + -0.0461074 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.2998 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37768 * tfactors.T923i + 0.466991 + (5.0/3.0) * -0.0461074 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45513,7 +52036,7 @@ void rate_p_Cr51_to_n_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr51_to_He4_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + p --> He4 + V48 @@ -45528,9 +52051,13 @@ void rate_p_Cr51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 62.3614 + -24.4782 * tfactors.T9i + -84.3192 * tfactors.T913i + -1.84683 * tfactors.T913 + -0.459124 * tfactors.T9 + 0.00700566 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.4782 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.3192 * tfactors.T943i + (1.0/3.0) * -1.84683 * tfactors.T923i + -0.459124 + (5.0/3.0) * 0.00700566 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45545,7 +52072,7 @@ void rate_p_Cr51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr51_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr51_to_n_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + He4 --> n + Fe54 @@ -45560,9 +52087,13 @@ void rate_He4_Cr51_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -86.4622 + -9.77972 * tfactors.T9i + 77.6519 * tfactors.T913 + -9.70923 * tfactors.T9 + 0.625406 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.77972 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 77.6519 * tfactors.T923i + -9.70923 + (5.0/3.0) * 0.625406 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45577,7 +52108,7 @@ void rate_He4_Cr51_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr51_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr51_to_p_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr51 + He4 --> p + Mn54 @@ -45592,9 +52123,13 @@ void rate_He4_Cr51_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -42.067 + -8.79032 * tfactors.T9i + -36.1955 * tfactors.T913i + 69.5086 * tfactors.T913 + -14.1484 * tfactors.T9 + 1.38598 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.79032 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1955 * tfactors.T943i + (1.0/3.0) * 69.5086 * tfactors.T923i + -14.1484 + (5.0/3.0) * 1.38598 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45609,7 +52144,7 @@ void rate_He4_Cr51_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr52_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr52_to_p_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + n --> p + V52 @@ -45624,9 +52159,13 @@ void rate_n_Cr52_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex ln_set_rate = 132.229 + -43.1054 * tfactors.T9i + 225.572 * tfactors.T913i + -367.914 * tfactors.T913 + 20.4967 * tfactors.T9 + -1.16016 * tfactors.T953 + 184.15 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 43.1054 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 225.572 * tfactors.T943i + (1.0/3.0) * -367.914 * tfactors.T923i + 20.4967 + (5.0/3.0) * -1.16016 * tfactors.T923 + 184.15 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45641,7 +52180,7 @@ void rate_n_Cr52_to_p_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr52_to_He4_Ti49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + n --> He4 + Ti49 @@ -45656,9 +52195,13 @@ void rate_n_Cr52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.1906 + -14.0615 * tfactors.T9i + -81.8999 * tfactors.T913i + -0.331496 * tfactors.T913 + -0.758416 * tfactors.T9 + 0.0413394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 14.0615 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.8999 * tfactors.T943i + (1.0/3.0) * -0.331496 * tfactors.T923i + -0.758416 + (5.0/3.0) * 0.0413394 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45673,7 +52216,7 @@ void rate_n_Cr52_to_He4_Ti49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr52_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr52_to_n_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + p --> n + Mn52 @@ -45688,9 +52231,13 @@ void rate_p_Cr52_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.5136 + -63.7533 * tfactors.T9i + 0.50599 * tfactors.T913 + 0.283832 * tfactors.T9 + -0.0422814 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 63.7533 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.50599 * tfactors.T923i + 0.283832 + (5.0/3.0) * -0.0422814 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45705,7 +52252,7 @@ void rate_p_Cr52_to_n_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr52_to_He4_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + p --> He4 + V49 @@ -45720,9 +52267,13 @@ void rate_p_Cr52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 60.8046 + -30.1245 * tfactors.T9i + -84.3633 * tfactors.T913i + 2.73419 * tfactors.T913 + -2.05655 * tfactors.T9 + 0.203834 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1245 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.3633 * tfactors.T943i + (1.0/3.0) * 2.73419 * tfactors.T923i + -2.05655 + (5.0/3.0) * 0.203834 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45737,7 +52288,7 @@ void rate_p_Cr52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr52_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr52_to_n_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + He4 --> n + Fe55 @@ -45752,9 +52303,13 @@ void rate_He4_Cr52_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.7294 + -41.5902 * tfactors.T9i + -4.54346 * tfactors.T913 + 2.79557 * tfactors.T9 + -0.273997 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 41.5902 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -4.54346 * tfactors.T923i + 2.79557 + (5.0/3.0) * -0.273997 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45769,7 +52324,7 @@ void rate_He4_Cr52_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr52_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr52_to_p_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr52 + He4 --> p + Mn55 @@ -45784,9 +52339,13 @@ void rate_He4_Cr52_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.2793 + -29.8283 * tfactors.T9i + -36.1995 * tfactors.T913i + 11.023 * tfactors.T913 + -2.435 * tfactors.T9 + 0.306933 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.8283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1995 * tfactors.T943i + (1.0/3.0) * 11.023 * tfactors.T923i + -2.435 + (5.0/3.0) * 0.306933 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45801,7 +52360,7 @@ void rate_He4_Cr52_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr53_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr53_to_He4_Ti50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + n --> He4 + Ti50 @@ -45816,9 +52375,13 @@ void rate_n_Cr53_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -23.5895 + 21.17 * tfactors.T913 + -0.195248 * tfactors.T9 + -0.121068 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 21.17 * tfactors.T923i + -0.195248 + (5.0/3.0) * -0.121068 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45833,7 +52396,7 @@ void rate_n_Cr53_to_He4_Ti50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr53_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr53_to_n_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + p --> n + Mn53 @@ -45848,9 +52411,13 @@ void rate_p_Cr53_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.3906 + -16.0047 * tfactors.T9i + 0.167386 * tfactors.T913 + 1.15594 * tfactors.T9 + -0.119143 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 16.0047 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.167386 * tfactors.T923i + 1.15594 + (5.0/3.0) * -0.119143 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45865,7 +52432,7 @@ void rate_p_Cr53_to_n_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr53_to_He4_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + p --> He4 + V50 @@ -45880,9 +52447,13 @@ void rate_p_Cr53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 45.5289 + -13.9153 * tfactors.T9i + -84.4058 * tfactors.T913i + 13.5454 * tfactors.T913 + -3.26175 * tfactors.T9 + 0.249401 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.9153 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -84.4058 * tfactors.T943i + (1.0/3.0) * 13.5454 * tfactors.T923i + -3.26175 + (5.0/3.0) * 0.249401 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45897,7 +52468,7 @@ void rate_p_Cr53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr53_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr53_to_n_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr53 + He4 --> n + Fe56 @@ -45912,9 +52483,13 @@ void rate_He4_Cr53_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -118.607 + -3.78063 * tfactors.T9i + 108.603 * tfactors.T913 + -15.5995 * tfactors.T9 + 1.14343 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.78063 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 108.603 * tfactors.T923i + -15.5995 + (5.0/3.0) * 1.14343 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45929,7 +52504,7 @@ void rate_He4_Cr53_to_n_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cr54_to_He4_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cr54_to_He4_Ti51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + n --> He4 + Ti51 @@ -45944,9 +52519,13 @@ void rate_n_Cr54_to_He4_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -985.091 + -2.195 * tfactors.T9i + -1722.81 * tfactors.T913i + 2829.38 * tfactors.T913 + -169.068 * tfactors.T9 + 9.70315 * tfactors.T953 + -1326.98 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1722.81 * tfactors.T943i + (1.0/3.0) * 2829.38 * tfactors.T923i + -169.068 + (5.0/3.0) * 9.70315 * tfactors.T923 + -1326.98 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45961,7 +52540,7 @@ void rate_n_Cr54_to_He4_Ti51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr54_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr54_to_n_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + p --> n + Mn54 @@ -45976,9 +52555,13 @@ void rate_p_Cr54_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.904 + -25.0602 * tfactors.T9i + -1.70783 * tfactors.T913 + 0.767763 * tfactors.T9 + -0.0572818 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.0602 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.70783 * tfactors.T923i + 0.767763 + (5.0/3.0) * -0.0572818 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -45993,7 +52576,7 @@ void rate_p_Cr54_to_n_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cr54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cr54_to_He4_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + p --> He4 + V51 @@ -46008,9 +52591,13 @@ void rate_p_Cr54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -94.698 + -35.2237 * tfactors.T913i + 131.726 * tfactors.T913 + -29.7395 * tfactors.T9 + 3.03809 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -35.2237 * tfactors.T943i + (1.0/3.0) * 131.726 * tfactors.T923i + -29.7395 + (5.0/3.0) * 3.03809 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46025,7 +52612,7 @@ void rate_p_Cr54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cr54_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cr54_to_n_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cr54 + He4 --> n + Fe57 @@ -46040,9 +52627,13 @@ void rate_He4_Cr54_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.33581 + -27.8371 * tfactors.T9i + 4.48478 * tfactors.T913 + 2.88431 * tfactors.T9 + -0.366076 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.8371 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.48478 * tfactors.T923i + 2.88431 + (5.0/3.0) * -0.366076 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46057,7 +52648,7 @@ void rate_He4_Cr54_to_n_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn50_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn50_to_p_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + n --> p + Cr50 @@ -46072,9 +52663,13 @@ void rate_n_Mn50_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.5859 + -1.04612 * tfactors.T913 + 0.340541 * tfactors.T9 + -0.0370932 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.04612 * tfactors.T923i + 0.340541 + (5.0/3.0) * -0.0370932 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46089,7 +52684,7 @@ void rate_n_Mn50_to_p_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn50_to_He4_V47_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + n --> He4 + V47 @@ -46104,9 +52699,13 @@ void rate_n_Mn50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 12.7581 + 0.0723126 * tfactors.T913 + 0.772457 * tfactors.T9 + -0.0591176 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.0723126 * tfactors.T923i + 0.772457 + (5.0/3.0) * -0.0591176 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46121,7 +52720,7 @@ void rate_n_Mn50_to_He4_V47_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn50_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn50_to_n_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + He4 --> n + Co53 @@ -46136,9 +52735,13 @@ void rate_He4_Mn50_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.55453 + -65.3147 * tfactors.T9i + 4.96211 * tfactors.T913 + -1.17699 * tfactors.T9 + 0.226 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.3147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.96211 * tfactors.T923i + -1.17699 + (5.0/3.0) * 0.226 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46153,7 +52756,7 @@ void rate_He4_Mn50_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn50_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn50_to_p_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn50 + He4 --> p + Fe53 @@ -46168,9 +52771,13 @@ void rate_He4_Mn50_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.6721 + -89.2309 * tfactors.T913i + -1.4758 * tfactors.T913 + -0.437831 * tfactors.T9 + -0.00354594 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.2309 * tfactors.T943i + (1.0/3.0) * -1.4758 * tfactors.T923i + -0.437831 + (5.0/3.0) * -0.00354594 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46185,7 +52792,7 @@ void rate_He4_Mn50_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn51_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn51_to_p_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + n --> p + Cr51 @@ -46200,9 +52807,13 @@ void rate_n_Mn51_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.982 + -1.37768 * tfactors.T913 + 0.466991 * tfactors.T9 + -0.0461074 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.37768 * tfactors.T923i + 0.466991 + (5.0/3.0) * -0.0461074 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46217,7 +52828,7 @@ void rate_n_Mn51_to_p_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn51_to_He4_V48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + n --> He4 + V48 @@ -46232,9 +52843,13 @@ void rate_n_Mn51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -23.8508 + 20.8632 * tfactors.T913 + 0.466645 * tfactors.T9 + -0.196969 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 20.8632 * tfactors.T923i + 0.466645 + (5.0/3.0) * -0.196969 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46249,7 +52864,7 @@ void rate_n_Mn51_to_He4_V48_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn51_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn51_to_He4_Cr48_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + p --> He4 + Cr48 @@ -46264,9 +52879,13 @@ void rate_p_Mn51_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 58.7312 + -6.47654 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 6.47654 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46281,7 +52900,7 @@ void rate_p_Mn51_to_He4_Cr48_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_n_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> n + Co54 @@ -46296,9 +52915,13 @@ void rate_He4_Mn51_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.1923 + -68.2136 * tfactors.T9i + -1.92176 * tfactors.T913 + 1.2968 * tfactors.T9 + -0.117145 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 68.2136 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.92176 * tfactors.T923i + 1.2968 + (5.0/3.0) * -0.117145 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46313,7 +52936,7 @@ void rate_He4_Mn51_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn51 + He4 --> p + Fe54 @@ -46328,9 +52951,13 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2777 + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46345,7 +52972,7 @@ void rate_He4_Mn51_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn52_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn52_to_p_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + n --> p + Cr52 @@ -46360,9 +52987,13 @@ void rate_n_Mn52_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.9487 + 0.50599 * tfactors.T913 + 0.283832 * tfactors.T9 + -0.0422814 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.50599 * tfactors.T923i + 0.283832 + (5.0/3.0) * -0.0422814 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46377,7 +53008,7 @@ void rate_n_Mn52_to_p_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn52_to_He4_V49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + n --> He4 + V49 @@ -46392,9 +53023,13 @@ void rate_n_Mn52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -2.29492 + 5.72895 * tfactors.T913 + 1.74506 * tfactors.T9 + -0.232362 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.72895 * tfactors.T923i + 1.74506 + (5.0/3.0) * -0.232362 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46409,7 +53044,7 @@ void rate_n_Mn52_to_He4_V49_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn52_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn52_to_n_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + p --> n + Fe52 @@ -46424,9 +53059,13 @@ void rate_p_Mn52_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.3836 + -36.6259 * tfactors.T9i + 0.569856 * tfactors.T913 + 0.390117 * tfactors.T9 + -0.0479043 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.6259 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.569856 * tfactors.T923i + 0.390117 + (5.0/3.0) * -0.0479043 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46441,7 +53080,7 @@ void rate_p_Mn52_to_n_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn52_to_He4_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + p --> He4 + Cr49 @@ -46456,9 +53095,13 @@ void rate_p_Mn52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 53.0315 + -5.9288 * tfactors.T9i + -86.7913 * tfactors.T913i + 10.6892 * tfactors.T913 + -4.01586 * tfactors.T9 + 0.411275 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.9288 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7913 * tfactors.T943i + (1.0/3.0) * 10.6892 * tfactors.T923i + -4.01586 + (5.0/3.0) * 0.411275 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46473,7 +53116,7 @@ void rate_p_Mn52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn52_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn52_to_n_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + He4 --> n + Co55 @@ -46488,9 +53131,13 @@ void rate_He4_Mn52_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -14.3346 + -26.9722 * tfactors.T9i + 8.15876 * tfactors.T913 + 3.05978 * tfactors.T9 + -0.406535 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.9722 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.15876 * tfactors.T923i + 3.05978 + (5.0/3.0) * -0.406535 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46505,7 +53152,7 @@ void rate_He4_Mn52_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn52_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn52_to_p_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn52 + He4 --> p + Fe55 @@ -46520,9 +53167,13 @@ void rate_He4_Mn52_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 56.6689 + -89.3157 * tfactors.T913i + 5.65639 * tfactors.T913 + -2.28952 * tfactors.T9 + 0.186017 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.3157 * tfactors.T943i + (1.0/3.0) * 5.65639 * tfactors.T923i + -2.28952 + (5.0/3.0) * 0.186017 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46537,7 +53188,7 @@ void rate_He4_Mn52_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn53_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn53_to_p_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + n --> p + Cr53 @@ -46552,9 +53203,13 @@ void rate_n_Mn53_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.6975 + 0.167386 * tfactors.T913 + 1.15594 * tfactors.T9 + -0.119143 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.167386 * tfactors.T923i + 1.15594 + (5.0/3.0) * -0.119143 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46569,7 +53224,7 @@ void rate_n_Mn53_to_p_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn53_to_He4_V50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + n --> He4 + V50 @@ -46584,9 +53239,13 @@ void rate_n_Mn53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -122.895 + 115.52 * tfactors.T913 + -16.7944 * tfactors.T9 + 1.23427 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 115.52 * tfactors.T923i + -16.7944 + (5.0/3.0) * 1.23427 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46601,7 +53260,7 @@ void rate_n_Mn53_to_He4_V50_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn53_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn53_to_n_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + p --> n + Fe53 @@ -46616,9 +53275,13 @@ void rate_p_Mn53_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.1239 + -52.5096 * tfactors.T9i + -1.19445 * tfactors.T913 + 0.393603 * tfactors.T9 + -0.0404022 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 52.5096 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19445 * tfactors.T923i + 0.393603 + (5.0/3.0) * -0.0404022 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46633,7 +53296,7 @@ void rate_p_Mn53_to_n_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn53_to_He4_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + p --> He4 + Cr50 @@ -46648,9 +53311,13 @@ void rate_p_Mn53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -68.3424 + -36.1913 * tfactors.T913i + 99.0857 * tfactors.T913 + -20.8943 * tfactors.T9 + 2.06209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1913 * tfactors.T943i + (1.0/3.0) * 99.0857 * tfactors.T923i + -20.8943 + (5.0/3.0) * 2.06209 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46665,7 +53332,7 @@ void rate_p_Mn53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn53_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn53_to_n_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + He4 --> n + Co56 @@ -46680,9 +53347,13 @@ void rate_He4_Mn53_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.3813 + -49.8407 * tfactors.T9i + -2.81854 * tfactors.T913 + 1.84188 * tfactors.T9 + -0.164509 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 49.8407 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.81854 * tfactors.T923i + 1.84188 + (5.0/3.0) * -0.164509 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46697,7 +53368,7 @@ void rate_He4_Mn53_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn53_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn53_to_p_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn53 + He4 --> p + Fe56 @@ -46712,9 +53383,13 @@ void rate_He4_Mn53_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 54.0176 + -89.3558 * tfactors.T913i + 9.25287 * tfactors.T913 + -3.70352 * tfactors.T9 + 0.372202 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -89.3558 * tfactors.T943i + (1.0/3.0) * 9.25287 * tfactors.T923i + -3.70352 + (5.0/3.0) * 0.372202 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46729,7 +53404,7 @@ void rate_He4_Mn53_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn54_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn54_to_p_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + n --> p + Cr54 @@ -46744,9 +53419,13 @@ void rate_n_Mn54_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.9581 + -1.70783 * tfactors.T913 + 0.767763 * tfactors.T9 + -0.0572818 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.70783 * tfactors.T923i + 0.767763 + (5.0/3.0) * -0.0572818 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46761,7 +53440,7 @@ void rate_n_Mn54_to_p_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn54_to_He4_V51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + n --> He4 + V51 @@ -46776,9 +53455,13 @@ void rate_n_Mn54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -7.40385 + 7.07865 * tfactors.T913 + 2.24997 * tfactors.T9 + -0.318964 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 7.07865 * tfactors.T923i + 2.24997 + (5.0/3.0) * -0.318964 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46793,7 +53476,7 @@ void rate_n_Mn54_to_He4_V51_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn54_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn54_to_n_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + p --> n + Fe54 @@ -46808,9 +53491,13 @@ void rate_p_Mn54_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -45.0778 + -0.9894 * tfactors.T9i + 51.9922 * tfactors.T913 + -7.26639 * tfactors.T9 + 0.502147 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.9894 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 51.9922 * tfactors.T923i + -7.26639 + (5.0/3.0) * 0.502147 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46825,7 +53512,7 @@ void rate_p_Mn54_to_n_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn54_to_He4_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + p --> He4 + Cr51 @@ -46840,9 +53527,13 @@ void rate_p_Mn54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -40.6329 + -36.1955 * tfactors.T913i + 69.5086 * tfactors.T913 + -14.1484 * tfactors.T9 + 1.38598 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1955 * tfactors.T943i + (1.0/3.0) * 69.5086 * tfactors.T923i + -14.1484 + (5.0/3.0) * 1.38598 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46857,7 +53548,7 @@ void rate_p_Mn54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn54_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn54_to_n_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + He4 --> n + Co57 @@ -46872,9 +53563,13 @@ void rate_He4_Mn54_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -31.7456 + -21.5562 * tfactors.T9i + 26.4125 * tfactors.T913 + -0.137701 * tfactors.T9 + -0.184911 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.5562 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 26.4125 * tfactors.T923i + -0.137701 + (5.0/3.0) * -0.184911 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46889,7 +53584,7 @@ void rate_He4_Mn54_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn54_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn54_to_p_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn54 + He4 --> p + Fe57 @@ -46904,9 +53599,13 @@ void rate_He4_Mn54_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -90.99 + -2.7769 * tfactors.T9i + -37.1663 * tfactors.T913i + 123.946 * tfactors.T913 + -27.2803 * tfactors.T9 + 2.75453 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.7769 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1663 * tfactors.T943i + (1.0/3.0) * 123.946 * tfactors.T923i + -27.2803 + (5.0/3.0) * 2.75453 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46921,7 +53620,7 @@ void rate_He4_Mn54_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Mn55_to_He4_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Mn55_to_He4_V52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + n --> He4 + V52 @@ -46936,9 +53635,13 @@ void rate_n_Mn55_to_He4_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1025.31 + 9.271 * tfactors.T9i + -1790.25 * tfactors.T913i + 2939.64 * tfactors.T913 + -175.533 * tfactors.T9 + 10.0701 * tfactors.T953 + -1379.09 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = -9.271 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1790.25 * tfactors.T943i + (1.0/3.0) * 2939.64 * tfactors.T923i + -175.533 + (5.0/3.0) * 10.0701 * tfactors.T923 + -1379.09 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46953,7 +53656,7 @@ void rate_n_Mn55_to_He4_V52_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn55_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn55_to_n_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + p --> n + Fe55 @@ -46968,9 +53671,13 @@ void rate_p_Mn55_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 4.30092 + -11.7619 * tfactors.T9i + 7.03052 * tfactors.T913 + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.7619 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.03052 * tfactors.T923i + 0.260509 + (5.0/3.0) * -0.0813397 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -46985,7 +53692,7 @@ void rate_p_Mn55_to_n_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Mn55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Mn55_to_He4_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + p --> He4 + Cr52 @@ -47000,9 +53707,13 @@ void rate_p_Mn55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.7897 + -36.1995 * tfactors.T913i + 11.023 * tfactors.T913 + -2.435 * tfactors.T9 + 0.306933 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -36.1995 * tfactors.T943i + (1.0/3.0) * 11.023 * tfactors.T923i + -2.435 + (5.0/3.0) * 0.306933 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47017,7 +53728,7 @@ void rate_p_Mn55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn55_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn55_to_n_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + He4 --> n + Co58 @@ -47032,9 +53743,13 @@ void rate_He4_Mn55_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 9.14605 + -40.7447 * tfactors.T9i + -5.4323 * tfactors.T913 + 3.33275 * tfactors.T9 + -0.339917 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.7447 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -5.4323 * tfactors.T923i + 3.33275 + (5.0/3.0) * -0.339917 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47049,7 +53764,7 @@ void rate_He4_Mn55_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Mn55_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Mn55_to_p_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Mn55 + He4 --> p + Fe58 @@ -47064,9 +53779,13 @@ void rate_He4_Mn55_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -77.6133 + -4.88801 * tfactors.T9i + -37.17 * tfactors.T913i + 110.878 * tfactors.T913 + -24.5555 * tfactors.T9 + 2.47003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.88801 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.17 * tfactors.T943i + (1.0/3.0) * 110.878 * tfactors.T923i + -24.5555 + (5.0/3.0) * 2.47003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47081,7 +53800,7 @@ void rate_He4_Mn55_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_p_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> p + Mn52 @@ -47096,9 +53815,13 @@ void rate_n_Fe52_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.9485 + 0.569856 * tfactors.T913 + 0.390117 * tfactors.T9 + -0.0479043 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.569856 * tfactors.T923i + 0.390117 + (5.0/3.0) * -0.0479043 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47113,7 +53836,7 @@ void rate_n_Fe52_to_p_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe52_to_He4_Cr49_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + n --> He4 + Cr49 @@ -47128,9 +53851,13 @@ void rate_n_Fe52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.1596 + 14.3781 * tfactors.T913 + 0.0859569 * tfactors.T9 + -0.0900604 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 14.3781 * tfactors.T923i + 0.0859569 + (5.0/3.0) * -0.0900604 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47145,7 +53872,7 @@ void rate_n_Fe52_to_He4_Cr49_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe52 + He4 --> p + Co55 @@ -47160,9 +53887,13 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47177,7 +53908,7 @@ void rate_He4_Fe52_to_p_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_p_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> p + Mn53 @@ -47192,9 +53923,13 @@ void rate_n_Fe53_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.1239 + -1.19445 * tfactors.T913 + 0.393603 * tfactors.T9 + -0.0404022 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.19445 * tfactors.T923i + 0.393603 + (5.0/3.0) * -0.0404022 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47209,7 +53944,7 @@ void rate_n_Fe53_to_p_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe53_to_He4_Cr50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + n --> He4 + Cr50 @@ -47224,9 +53959,13 @@ void rate_n_Fe53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.025 + -0.146952 * tfactors.T913 + 1.12217 * tfactors.T9 + -0.10318 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.146952 * tfactors.T923i + 1.12217 + (5.0/3.0) * -0.10318 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47241,7 +53980,7 @@ void rate_n_Fe53_to_He4_Cr50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe53_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe53_to_n_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + p --> n + Co53 @@ -47256,9 +53995,13 @@ void rate_p_Fe53_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.5271 + -105.402 * tfactors.T9i + -0.94587 * tfactors.T913 + 0.327891 * tfactors.T9 + -0.0355667 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 105.402 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.94587 * tfactors.T923i + 0.327891 + (5.0/3.0) * -0.0355667 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47273,7 +54016,7 @@ void rate_p_Fe53_to_n_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe53_to_He4_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + p --> He4 + Mn50 @@ -47288,9 +54031,13 @@ void rate_p_Fe53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.8915 + -40.0872 * tfactors.T9i + -89.2309 * tfactors.T913i + -1.4758 * tfactors.T913 + -0.437831 * tfactors.T9 + -0.00354594 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.0872 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.2309 * tfactors.T943i + (1.0/3.0) * -1.4758 * tfactors.T923i + -0.437831 + (5.0/3.0) * -0.00354594 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47305,7 +54052,7 @@ void rate_p_Fe53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe53_to_n_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + He4 --> n + Ni56 @@ -47320,9 +54067,13 @@ void rate_He4_Fe53_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.2271 + -31.1935 * tfactors.T9i + 6.43259 * tfactors.T913 + 2.29591 * tfactors.T9 + -0.254724 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 31.1935 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 6.43259 * tfactors.T923i + 2.29591 + (5.0/3.0) * -0.254724 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47337,7 +54088,7 @@ void rate_He4_Fe53_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe53 + He4 --> p + Co56 @@ -47352,9 +54103,13 @@ void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 54.8614 + -91.7231 * tfactors.T913i + 10.052 * tfactors.T913 + -3.86332 * tfactors.T9 + 0.391105 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * 10.052 * tfactors.T923i + -3.86332 + (5.0/3.0) * 0.391105 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47369,7 +54124,7 @@ void rate_He4_Fe53_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_p_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> p + Mn54 @@ -47384,9 +54139,13 @@ void rate_n_Fe54_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -43.1319 + 51.9922 * tfactors.T913 + -7.26639 * tfactors.T9 + 0.502147 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 51.9922 * tfactors.T923i + -7.26639 + (5.0/3.0) * 0.502147 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47401,7 +54160,7 @@ void rate_n_Fe54_to_p_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe54_to_He4_Cr51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + n --> He4 + Cr51 @@ -47416,9 +54175,13 @@ void rate_n_Fe54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -83.0822 + 77.6519 * tfactors.T913 + -9.70923 * tfactors.T9 + 0.625406 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 77.6519 * tfactors.T923i + -9.70923 + (5.0/3.0) * 0.625406 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47433,7 +54196,7 @@ void rate_n_Fe54_to_He4_Cr51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe54_to_n_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p --> n + Co54 @@ -47448,9 +54211,13 @@ void rate_p_Fe54_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.6932 + -104.734 * tfactors.T9i + -1.41064 * tfactors.T913 + 0.417457 * tfactors.T9 + -0.0400596 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 104.734 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.41064 * tfactors.T923i + 0.417457 + (5.0/3.0) * -0.0400596 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47465,7 +54232,7 @@ void rate_p_Fe54_to_n_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe54_to_He4_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + p --> He4 + Mn51 @@ -47480,9 +54247,13 @@ void rate_p_Fe54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 65.37 + -36.5201 * tfactors.T9i + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.5201 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47497,7 +54268,7 @@ void rate_p_Fe54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_n_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> n + Ni57 @@ -47512,9 +54283,13 @@ void rate_He4_Fe54_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.6138 + -67.5021 * tfactors.T9i + 0.48562 * tfactors.T913 + -0.0249302 * tfactors.T9 + 0.0509605 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 67.5021 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.48562 * tfactors.T923i + -0.0249302 + (5.0/3.0) * 0.0509605 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47529,7 +54304,7 @@ void rate_He4_Fe54_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe54_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe54_to_p_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe54 + He4 --> p + Co57 @@ -47544,9 +54319,13 @@ void rate_He4_Fe54_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -1.42195 + -20.5668 * tfactors.T9i + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.5668 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47561,7 +54340,7 @@ void rate_He4_Fe54_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> p + Mn55 @@ -47576,9 +54355,13 @@ void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 4.70639 + 7.03052 * tfactors.T913 + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; + ln_set_rate += log_scor; + 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; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47593,7 +54376,7 @@ void rate_n_Fe55_to_p_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe55_to_He4_Cr52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + n --> He4 + Cr52 @@ -47608,9 +54391,13 @@ void rate_n_Fe55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.6453 + -4.54346 * tfactors.T913 + 2.79557 * tfactors.T9 + -0.273997 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -4.54346 * tfactors.T923i + 2.79557 + (5.0/3.0) * -0.273997 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47625,7 +54412,7 @@ void rate_n_Fe55_to_He4_Cr52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe55_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe55_to_n_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + p --> n + Co55 @@ -47640,9 +54427,13 @@ void rate_p_Fe55_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.4329 + -49.1353 * tfactors.T9i + -1.62382 * tfactors.T913 + 0.58115 * tfactors.T9 + -0.0537057 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 49.1353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.62382 * tfactors.T923i + 0.58115 + (5.0/3.0) * -0.0537057 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47657,7 +54448,7 @@ void rate_p_Fe55_to_n_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe55_to_He4_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + p --> He4 + Mn52 @@ -47672,9 +54463,13 @@ void rate_p_Fe55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 59.1497 + -22.1631 * tfactors.T9i + -89.3157 * tfactors.T913i + 5.65639 * tfactors.T913 + -2.28952 * tfactors.T9 + 0.186017 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 22.1631 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.3157 * tfactors.T943i + (1.0/3.0) * 5.65639 * tfactors.T923i + -2.28952 + (5.0/3.0) * 0.186017 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47689,7 +54484,7 @@ void rate_p_Fe55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe55_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe55_to_n_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + He4 --> n + Ni58 @@ -47704,9 +54499,13 @@ void rate_He4_Fe55_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -4.73193 + -33.6308 * tfactors.T9i + 3.44996 * tfactors.T913 + 2.98226 * tfactors.T9 + -0.387699 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.6308 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.44996 * tfactors.T923i + 2.98226 + (5.0/3.0) * -0.387699 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47721,7 +54520,7 @@ void rate_He4_Fe55_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe55_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe55_to_p_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe55 + He4 --> p + Co58 @@ -47736,9 +54535,13 @@ void rate_He4_Fe55_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.0177 + -28.9828 * tfactors.T9i + -38.1171 * tfactors.T913i + 13.2187 * tfactors.T913 + -1.74746 * tfactors.T9 + 0.142513 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.9828 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1171 * tfactors.T943i + (1.0/3.0) * 13.2187 * tfactors.T923i + -1.74746 + (5.0/3.0) * 0.142513 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47753,7 +54556,7 @@ void rate_He4_Fe55_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe56_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe56_to_He4_Cr53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + n --> He4 + Cr53 @@ -47768,9 +54571,13 @@ void rate_n_Fe56_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -115.917 + 108.603 * tfactors.T913 + -15.5995 * tfactors.T9 + 1.14343 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 108.603 * tfactors.T923i + -15.5995 + (5.0/3.0) * 1.14343 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47785,7 +54592,7 @@ void rate_n_Fe56_to_He4_Cr53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe56_to_n_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p --> n + Co56 @@ -47800,9 +54607,13 @@ void rate_p_Fe56_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.6511 + -62.0649 * tfactors.T9i + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 62.0649 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47817,7 +54628,7 @@ void rate_p_Fe56_to_n_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe56_to_He4_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + p --> He4 + Mn53 @@ -47832,9 +54643,13 @@ void rate_p_Fe56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 57.4007 + -12.2241 * tfactors.T9i + -89.3558 * tfactors.T913i + 9.25287 * tfactors.T913 + -3.70352 * tfactors.T9 + 0.372202 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 12.2241 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.3558 * tfactors.T943i + (1.0/3.0) * 9.25287 * tfactors.T923i + -3.70352 + (5.0/3.0) * 0.372202 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47849,7 +54664,7 @@ void rate_p_Fe56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe56_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe56_to_n_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + He4 --> n + Ni59 @@ -47864,9 +54679,13 @@ void rate_He4_Fe56_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.4866 + -59.1377 * tfactors.T9i + -4.21617 * tfactors.T913 + 1.58032 * tfactors.T9 + -0.126895 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 59.1377 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -4.21617 * tfactors.T923i + 1.58032 + (5.0/3.0) * -0.126895 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47881,7 +54700,7 @@ void rate_He4_Fe56_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe56_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe56_to_p_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe56 + He4 --> p + Co59 @@ -47896,9 +54715,13 @@ void rate_He4_Fe56_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.2414 + -37.6102 * tfactors.T9i + -38.1208 * tfactors.T913i + 13.9086 * tfactors.T913 + -3.45838 * tfactors.T9 + 0.391302 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.6102 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1208 * tfactors.T943i + (1.0/3.0) * 13.9086 * tfactors.T923i + -3.45838 + (5.0/3.0) * 0.391302 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47913,7 +54736,7 @@ void rate_He4_Fe56_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Fe57_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Fe57_to_He4_Cr54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + n --> He4 + Cr54 @@ -47928,9 +54751,13 @@ void rate_n_Fe57_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -6.72376 + 4.48478 * tfactors.T913 + 2.88431 * tfactors.T9 + -0.366076 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.48478 * tfactors.T923i + 2.88431 + (5.0/3.0) * -0.366076 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47945,7 +54772,7 @@ void rate_n_Fe57_to_He4_Cr54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe57_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe57_to_n_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + p --> n + Co57 @@ -47960,9 +54787,13 @@ void rate_p_Fe57_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 14.9333 + -18.7792 * tfactors.T9i + -0.061056 * tfactors.T913 + 1.28749 * tfactors.T9 + -0.156423 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 18.7792 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.061056 * tfactors.T923i + 1.28749 + (5.0/3.0) * -0.156423 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -47977,7 +54808,7 @@ void rate_p_Fe57_to_n_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe57_to_He4_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + p --> He4 + Mn54 @@ -47992,9 +54823,13 @@ void rate_p_Fe57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -88.432 + -37.1663 * tfactors.T913i + 123.946 * tfactors.T913 + -27.2803 * tfactors.T9 + 2.75453 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.1663 * tfactors.T943i + (1.0/3.0) * 123.946 * tfactors.T923i + -27.2803 + (5.0/3.0) * 2.75453 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48009,7 +54844,7 @@ void rate_p_Fe57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe57_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe57_to_n_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe57 + He4 --> n + Ni60 @@ -48024,9 +54859,13 @@ void rate_He4_Fe57_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -62.4146 + -15.7177 * tfactors.T9i + 55.1407 * tfactors.T913 + -5.1585 * tfactors.T9 + 0.212248 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.7177 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 55.1407 * tfactors.T923i + -5.1585 + (5.0/3.0) * 0.212248 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48041,7 +54880,7 @@ void rate_He4_Fe57_to_n_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe58_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe58_to_n_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 + p --> n + Co58 @@ -48056,9 +54895,13 @@ void rate_p_Fe58_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.159 + -35.8567 * tfactors.T9i + -3.2947 * tfactors.T913 + 0.833003 * tfactors.T9 + -0.0604538 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 35.8567 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.2947 * tfactors.T923i + 0.833003 + (5.0/3.0) * -0.0604538 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48073,7 +54916,7 @@ void rate_p_Fe58_to_n_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Fe58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Fe58_to_He4_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 + p --> He4 + Mn55 @@ -48088,9 +54931,13 @@ void rate_p_Fe58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -74.5149 + -37.17 * tfactors.T913i + 110.878 * tfactors.T913 + -24.5555 * tfactors.T9 + 2.47003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.17 * tfactors.T943i + (1.0/3.0) * 110.878 * tfactors.T923i + -24.5555 + (5.0/3.0) * 2.47003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48105,7 +54952,7 @@ void rate_p_Fe58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Fe58_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Fe58_to_n_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Fe58 + He4 --> n + Ni61 @@ -48120,9 +54967,13 @@ void rate_He4_Fe58_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.5941 + -41.5317 * tfactors.T9i + -7.53968 * tfactors.T913 + 4.09062 * tfactors.T9 + -0.416412 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 41.5317 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -7.53968 * tfactors.T923i + 4.09062 + (5.0/3.0) * -0.416412 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48137,7 +54988,7 @@ void rate_He4_Fe58_to_n_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co53_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co53_to_p_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 + n --> p + Fe53 @@ -48152,9 +55003,13 @@ void rate_n_Co53_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.5271 + -0.94587 * tfactors.T913 + 0.327891 * tfactors.T9 + -0.0355667 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.94587 * tfactors.T923i + 0.327891 + (5.0/3.0) * -0.0355667 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48169,7 +55024,7 @@ void rate_n_Co53_to_p_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co53_to_He4_Mn50_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 + n --> He4 + Mn50 @@ -48184,9 +55039,13 @@ void rate_n_Co53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 7.77398 + 4.96211 * tfactors.T913 + -1.17699 * tfactors.T9 + 0.226 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.96211 * tfactors.T923i + -1.17699 + (5.0/3.0) * 0.226 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48201,7 +55060,7 @@ void rate_n_Co53_to_He4_Mn50_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co53_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co53_to_p_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co53 + He4 --> p + Ni56 @@ -48216,9 +55075,13 @@ void rate_He4_Co53_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 64.2463 + -94.0605 * tfactors.T913i + -1.48203 * tfactors.T913 + -0.476442 * tfactors.T9 + 0.00631587 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.0605 * tfactors.T943i + (1.0/3.0) * -1.48203 * tfactors.T923i + -0.476442 + (5.0/3.0) * 0.00631587 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48233,7 +55096,7 @@ void rate_He4_Co53_to_p_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co54_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co54_to_p_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + n --> p + Fe54 @@ -48248,9 +55111,13 @@ void rate_n_Co54_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.6932 + -1.41064 * tfactors.T913 + 0.417457 * tfactors.T9 + -0.0400596 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.41064 * tfactors.T923i + 0.417457 + (5.0/3.0) * -0.0400596 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48265,7 +55132,7 @@ void rate_n_Co54_to_p_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co54_to_He4_Mn51_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + n --> He4 + Mn51 @@ -48280,9 +55147,13 @@ void rate_n_Co54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.2846 + -1.92176 * tfactors.T913 + 1.2968 * tfactors.T9 + -0.117145 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.92176 * tfactors.T923i + 1.2968 + (5.0/3.0) * -0.117145 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48297,7 +55168,7 @@ void rate_n_Co54_to_He4_Mn51_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co54_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co54_to_n_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + He4 --> n + Cu57 @@ -48312,9 +55183,13 @@ void rate_He4_Co54_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.5817 + -73.6465 * tfactors.T9i + 1.52892 * tfactors.T913 + -0.01999 * tfactors.T9 + 0.0715186 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 73.6465 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.52892 * tfactors.T923i + -0.01999 + (5.0/3.0) * 0.0715186 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48329,7 +55204,7 @@ void rate_He4_Co54_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co54_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co54_to_p_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co54 + He4 --> p + Ni57 @@ -48344,9 +55219,13 @@ void rate_He4_Co54_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 64.379 + -94.1012 * tfactors.T913i + -1.53121 * tfactors.T913 + -0.462669 * tfactors.T9 + 0.00353266 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1012 * tfactors.T943i + (1.0/3.0) * -1.53121 * tfactors.T923i + -0.462669 + (5.0/3.0) * 0.00353266 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48361,7 +55240,7 @@ void rate_He4_Co54_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> p + Fe55 @@ -48376,9 +55255,13 @@ void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.7398 + -1.62382 * tfactors.T913 + 0.58115 * tfactors.T9 + -0.0537057 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.62382 * tfactors.T923i + 0.58115 + (5.0/3.0) * -0.0537057 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48393,7 +55276,7 @@ void rate_n_Co55_to_p_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co55_to_He4_Mn52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + n --> He4 + Mn52 @@ -48408,9 +55291,13 @@ void rate_n_Co55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -12.5469 + 8.15876 * tfactors.T913 + 3.05978 * tfactors.T9 + -0.406535 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 8.15876 * tfactors.T923i + 3.05978 + (5.0/3.0) * -0.406535 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48425,7 +55312,7 @@ void rate_n_Co55_to_He4_Mn52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co55_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co55_to_He4_Fe52_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + p --> He4 + Fe52 @@ -48440,9 +55327,13 @@ void rate_p_Co55_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 61.4434 + -9.65363 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.65363 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48457,7 +55348,7 @@ void rate_p_Co55_to_He4_Fe52_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_n_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> n + Cu58 @@ -48472,9 +55363,13 @@ void rate_He4_Co55_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 9.69034 + -92.9741 * tfactors.T9i + 4.29921 * tfactors.T913 + -0.76309 * tfactors.T9 + 0.10257 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.9741 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.29921 * tfactors.T923i + -0.76309 + (5.0/3.0) * 0.10257 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48489,7 +55384,7 @@ void rate_He4_Co55_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co55 + He4 --> p + Ni58 @@ -48504,9 +55399,13 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 60.2281 + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48521,7 +55420,7 @@ void rate_He4_Co55_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> p + Fe56 @@ -48536,9 +55435,13 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4539 + -1.13331 * tfactors.T913 + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13331 * tfactors.T923i + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48553,7 +55456,7 @@ void rate_n_Co56_to_p_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co56_to_He4_Mn53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + n --> He4 + Mn53 @@ -48568,9 +55471,13 @@ void rate_n_Co56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.5672 + -2.81854 * tfactors.T913 + 1.84188 * tfactors.T9 + -0.164509 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.81854 * tfactors.T923i + 1.84188 + (5.0/3.0) * -0.164509 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48585,7 +55492,7 @@ void rate_n_Co56_to_He4_Mn53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co56_to_n_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + p --> n + Ni56 @@ -48600,9 +55507,13 @@ void rate_p_Co56_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.3721 + -33.8622 * tfactors.T9i + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 33.8622 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48617,7 +55528,7 @@ void rate_p_Co56_to_n_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co56_to_He4_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + p --> He4 + Fe53 @@ -48632,9 +55543,13 @@ void rate_p_Co56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 56.0473 + -2.66873 * tfactors.T9i + -91.7231 * tfactors.T913i + 10.052 * tfactors.T913 + -3.86332 * tfactors.T9 + 0.391105 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.66873 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7231 * tfactors.T943i + (1.0/3.0) * 10.052 * tfactors.T923i + -3.86332 + (5.0/3.0) * 0.391105 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48649,7 +55564,7 @@ void rate_p_Co56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co56_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co56_to_n_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + He4 --> n + Cu59 @@ -48664,9 +55579,13 @@ void rate_He4_Co56_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.89185 + -61.8349 * tfactors.T9i + -1.00882 * tfactors.T913 + 1.88993 * tfactors.T9 + -0.202319 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.8349 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.00882 * tfactors.T923i + 1.88993 + (5.0/3.0) * -0.202319 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48681,7 +55600,7 @@ void rate_He4_Co56_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co56_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co56_to_p_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co56 + He4 --> p + Ni59 @@ -48696,9 +55615,13 @@ void rate_He4_Co56_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 49.7325 + -94.1784 * tfactors.T913i + 17.5303 * tfactors.T913 + -5.78946 * tfactors.T9 + 0.587654 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.1784 * tfactors.T943i + (1.0/3.0) * 17.5303 * tfactors.T923i + -5.78946 + (5.0/3.0) * 0.587654 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48713,7 +55636,7 @@ void rate_He4_Co56_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co57_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co57_to_p_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + n --> p + Fe57 @@ -48728,9 +55651,13 @@ void rate_n_Co57_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 13.547 + -0.061056 * tfactors.T913 + 1.28749 * tfactors.T9 + -0.156423 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.061056 * tfactors.T923i + 1.28749 + (5.0/3.0) * -0.156423 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48745,7 +55672,7 @@ void rate_n_Co57_to_p_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co57_to_He4_Mn54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + n --> He4 + Mn54 @@ -48760,9 +55687,13 @@ void rate_n_Co57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -30.5739 + 26.4125 * tfactors.T913 + -0.137701 * tfactors.T9 + -0.184911 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 26.4125 * tfactors.T923i + -0.137701 + (5.0/3.0) * -0.184911 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48777,7 +55708,7 @@ void rate_n_Co57_to_He4_Mn54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_n_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> n + Ni57 @@ -48792,9 +55723,13 @@ void rate_p_Co57_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.3008 + -46.9353 * tfactors.T9i + -1.13177 * tfactors.T913 + 0.56875 * tfactors.T9 + -0.0579913 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 46.9353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13177 * tfactors.T923i + 0.56875 + (5.0/3.0) * -0.0579913 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48809,7 +55744,7 @@ void rate_p_Co57_to_n_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + p --> He4 + Fe54 @@ -48824,9 +55759,13 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.1962 + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48841,7 +55780,7 @@ void rate_p_Co57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co57_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co57_to_n_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + He4 --> n + Cu60 @@ -48856,9 +55795,13 @@ void rate_He4_Co57_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.0625 + -77.1294 * tfactors.T9i + 2.72669 * tfactors.T913 + -0.141713 * tfactors.T9 + 0.025172 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 77.1294 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.72669 * tfactors.T923i + -0.141713 + (5.0/3.0) * 0.025172 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48873,7 +55816,7 @@ void rate_He4_Co57_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co57_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co57_to_p_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co57 + He4 --> p + Ni60 @@ -48888,9 +55831,13 @@ void rate_He4_Co57_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 49.6113 + -94.2152 * tfactors.T913i + 16.1097 * tfactors.T913 + -4.84624 * tfactors.T9 + 0.441487 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -94.2152 * tfactors.T943i + (1.0/3.0) * 16.1097 * tfactors.T923i + -4.84624 + (5.0/3.0) * 0.441487 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48905,7 +55852,7 @@ void rate_He4_Co57_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co58_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co58_to_p_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + n --> p + Fe58 @@ -48920,9 +55867,13 @@ void rate_n_Co58_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.5496 + -3.2947 * tfactors.T913 + 0.833003 * tfactors.T9 + -0.0604538 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -3.2947 * tfactors.T923i + 0.833003 + (5.0/3.0) * -0.0604538 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48937,7 +55888,7 @@ void rate_n_Co58_to_p_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Co58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Co58_to_He4_Mn55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + n --> He4 + Mn55 @@ -48952,9 +55903,13 @@ void rate_n_Co58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.635 + -5.4323 * tfactors.T913 + 3.33275 * tfactors.T9 + -0.339917 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -5.4323 * tfactors.T923i + 3.33275 + (5.0/3.0) * -0.339917 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -48969,7 +55924,7 @@ void rate_n_Co58_to_He4_Mn55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co58_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co58_to_n_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + p --> n + Ni58 @@ -48984,9 +55939,13 @@ void rate_p_Co58_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -27.5032 + -4.64783 * tfactors.T9i + 34.6301 * tfactors.T913 + -3.77385 * tfactors.T9 + 0.190506 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.64783 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 34.6301 * tfactors.T923i + -3.77385 + (5.0/3.0) * 0.190506 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49001,7 +55960,7 @@ void rate_p_Co58_to_n_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co58_to_He4_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + p --> He4 + Fe55 @@ -49016,9 +55975,13 @@ void rate_p_Co58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 15.1012 + -38.1171 * tfactors.T913i + 13.2187 * tfactors.T913 + -1.74746 * tfactors.T9 + 0.142513 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1171 * tfactors.T943i + (1.0/3.0) * 13.2187 * tfactors.T923i + -1.74746 + (5.0/3.0) * 0.142513 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49033,7 +55996,7 @@ void rate_p_Co58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co58_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co58_to_n_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + He4 --> n + Cu61 @@ -49048,9 +56011,13 @@ void rate_He4_Co58_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 1.34095 + -40.7159 * tfactors.T9i + 1.07449 * tfactors.T913 + 3.05815 * tfactors.T9 + -0.386686 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 40.7159 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.07449 * tfactors.T923i + 3.05815 + (5.0/3.0) * -0.386686 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49065,7 +56032,7 @@ void rate_He4_Co58_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co58_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co58_to_p_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co58 + He4 --> p + Ni61 @@ -49080,9 +56047,13 @@ void rate_He4_Co58_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -75.9084 + -5.67496 * tfactors.T9i + -39.0635 * tfactors.T913i + 109.727 * tfactors.T913 + -23.3971 * tfactors.T9 + 2.29485 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.67496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0635 * tfactors.T943i + (1.0/3.0) * 109.727 * tfactors.T923i + -23.3971 + (5.0/3.0) * 2.29485 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49097,7 +56068,7 @@ void rate_He4_Co58_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co59_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co59_to_n_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + p --> n + Ni59 @@ -49112,9 +56083,13 @@ void rate_p_Co59_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 11.9735 + -21.5276 * tfactors.T9i + 2.48878 * tfactors.T913 + 0.158023 * tfactors.T9 + -0.0135864 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.5276 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.48878 * tfactors.T923i + 0.158023 + (5.0/3.0) * -0.0135864 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49129,7 +56104,7 @@ void rate_p_Co59_to_n_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Co59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Co59_to_He4_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + p --> He4 + Fe56 @@ -49144,9 +56119,13 @@ void rate_p_Co59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.47 + -38.1208 * tfactors.T913i + 13.9086 * tfactors.T913 + -3.45838 * tfactors.T9 + 0.391302 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -38.1208 * tfactors.T943i + (1.0/3.0) * 13.9086 * tfactors.T923i + -3.45838 + (5.0/3.0) * 0.391302 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49161,7 +56140,7 @@ void rate_p_Co59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co59_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co59_to_n_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + He4 --> n + Cu62 @@ -49176,9 +56155,13 @@ void rate_He4_Co59_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 9.13317 + -58.9158 * tfactors.T9i + 0.965159 * tfactors.T913 + 0.563053 * tfactors.T9 + -0.0358157 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 58.9158 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.965159 * tfactors.T923i + 0.563053 + (5.0/3.0) * -0.0358157 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49193,7 +56176,7 @@ void rate_He4_Co59_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Co59_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Co59_to_p_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Co59 + He4 --> p + Ni62 @@ -49208,9 +56191,13 @@ void rate_He4_Co59_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -93.0347 + -4.01946 * tfactors.T9i + -39.0669 * tfactors.T913i + 126.723 * tfactors.T913 + -27.3047 * tfactors.T9 + 2.67436 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.01946 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.0669 * tfactors.T943i + (1.0/3.0) * 126.723 * tfactors.T923i + -27.3047 + (5.0/3.0) * 2.67436 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49225,7 +56212,7 @@ void rate_He4_Co59_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> p + Co56 @@ -49240,9 +56227,13 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 15.5693 + 1.76846 * tfactors.T913 + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.76846 * tfactors.T923i + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49257,7 +56248,7 @@ void rate_n_Ni56_to_p_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + n --> He4 + Fe53 @@ -49272,9 +56263,13 @@ void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.84393 + 6.43259 * tfactors.T913 + 2.29591 * tfactors.T9 + -0.254724 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 6.43259 * tfactors.T923i + 2.29591 + (5.0/3.0) * -0.254724 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49289,7 +56284,7 @@ void rate_n_Ni56_to_He4_Fe53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni56_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni56_to_He4_Co53_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + p --> He4 + Co53 @@ -49304,9 +56299,13 @@ void rate_p_Ni56_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 67.6294 + -74.2085 * tfactors.T9i + -94.0605 * tfactors.T913i + -1.48203 * tfactors.T913 + -0.476442 * tfactors.T9 + 0.00631587 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.2085 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.0605 * tfactors.T943i + (1.0/3.0) * -1.48203 * tfactors.T923i + -0.476442 + (5.0/3.0) * 0.00631587 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49321,7 +56320,7 @@ void rate_p_Ni56_to_He4_Co53_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni56_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni56_to_n_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + He4 --> n + Zn59 @@ -49336,9 +56335,13 @@ void rate_He4_Ni56_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.1566 + -142.615 * tfactors.T9i + 4.01795 * tfactors.T913 + -1.00571 * tfactors.T9 + 0.129548 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 142.615 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.01795 * tfactors.T923i + -1.00571 + (5.0/3.0) * 0.129548 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49353,7 +56356,7 @@ void rate_He4_Ni56_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni56_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni56_to_p_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni56 + He4 --> p + Cu59 @@ -49368,9 +56371,13 @@ void rate_He4_Ni56_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.8471 + -27.9728 * tfactors.T9i + -39.9808 * tfactors.T913i + 13.6773 * tfactors.T913 + -3.76429 * tfactors.T9 + 0.438096 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.9728 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 13.6773 * tfactors.T923i + -3.76429 + (5.0/3.0) * 0.438096 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49385,7 +56392,7 @@ void rate_He4_Ni56_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> p + Co57 @@ -49400,9 +56407,13 @@ void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.9939 + -1.13177 * tfactors.T913 + 0.56875 * tfactors.T9 + -0.0579913 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.13177 * tfactors.T923i + 0.56875 + (5.0/3.0) * -0.0579913 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49417,7 +56428,7 @@ void rate_n_Ni57_to_p_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + n --> He4 + Fe54 @@ -49432,9 +56443,13 @@ void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.5327 + 0.48562 * tfactors.T913 + -0.0249302 * tfactors.T9 + 0.0509605 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.48562 * tfactors.T923i + -0.0249302 + (5.0/3.0) * 0.0509605 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49449,7 +56464,7 @@ void rate_n_Ni57_to_He4_Fe54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni57_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni57_to_n_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + p --> n + Cu57 @@ -49464,9 +56479,13 @@ void rate_p_Ni57_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0221 + -110.878 * tfactors.T9i + -0.57954 * tfactors.T913 + 0.250954 * tfactors.T9 + -0.0264877 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.878 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.57954 * tfactors.T923i + 0.250954 + (5.0/3.0) * -0.0264877 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49481,7 +56500,7 @@ void rate_p_Ni57_to_n_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni57_to_He4_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + p --> He4 + Co54 @@ -49496,9 +56515,13 @@ void rate_p_Ni57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 64.2979 + -37.2315 * tfactors.T9i + -94.1012 * tfactors.T913i + -1.53121 * tfactors.T913 + -0.462669 * tfactors.T9 + 0.00353266 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.2315 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1012 * tfactors.T943i + (1.0/3.0) * -1.53121 * tfactors.T923i + -0.462669 + (5.0/3.0) * 0.00353266 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49513,7 +56536,7 @@ void rate_p_Ni57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni57_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni57_to_n_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + He4 --> n + Zn60 @@ -49528,9 +56551,13 @@ void rate_He4_Ni57_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 9.72845 + -87.5049 * tfactors.T9i + 5.43552 * tfactors.T913 + -1.25169 * tfactors.T9 + 0.148383 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 87.5049 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.43552 * tfactors.T923i + -1.25169 + (5.0/3.0) * 0.148383 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49545,7 +56572,7 @@ void rate_He4_Ni57_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni57_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni57_to_p_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni57 + He4 --> p + Cu60 @@ -49560,9 +56587,13 @@ void rate_He4_Ni57_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.6894 + -30.1941 * tfactors.T9i + -39.9846 * tfactors.T913i + 20.3348 * tfactors.T913 + -4.47882 * tfactors.T9 + 0.442893 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 30.1941 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9846 * tfactors.T943i + (1.0/3.0) * 20.3348 * tfactors.T923i + -4.47882 + (5.0/3.0) * 0.442893 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49577,7 +56608,7 @@ void rate_He4_Ni57_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni58_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni58_to_p_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + n --> p + Co58 @@ -49592,9 +56623,13 @@ void rate_n_Ni58_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -25.8938 + 34.6301 * tfactors.T913 + -3.77385 * tfactors.T9 + 0.190506 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 34.6301 * tfactors.T923i + -3.77385 + (5.0/3.0) * 0.190506 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49609,7 +56644,7 @@ void rate_n_Ni58_to_p_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + n --> He4 + Fe55 @@ -49624,9 +56659,13 @@ void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.03901 + 3.44996 * tfactors.T913 + 2.98226 * tfactors.T9 + -0.387699 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 3.44996 * tfactors.T923i + 2.98226 + (5.0/3.0) * -0.387699 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49641,7 +56680,7 @@ void rate_n_Ni58_to_He4_Fe55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni58_to_n_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + p --> n + Cu58 @@ -49656,9 +56695,13 @@ void rate_p_Ni58_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.9037 + -108.479 * tfactors.T9i + -0.603447 * tfactors.T913 + 0.300346 * tfactors.T9 + -0.0361808 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 108.479 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.603447 * tfactors.T923i + 0.300346 + (5.0/3.0) * -0.0361808 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49673,7 +56716,7 @@ void rate_p_Ni58_to_n_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni58_to_He4_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + p --> He4 + Co55 @@ -49688,9 +56731,13 @@ void rate_p_Ni58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 63.6142 + -15.5045 * tfactors.T9i + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 15.5045 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49705,7 +56752,7 @@ void rate_p_Ni58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni58_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni58_to_n_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + He4 --> n + Zn61 @@ -49720,9 +56767,13 @@ void rate_He4_Ni58_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 15.06 + -110.575 * tfactors.T9i + 2.9413 * tfactors.T913 + -0.542181 * tfactors.T9 + 0.0584262 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 110.575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.9413 * tfactors.T923i + -0.542181 + (5.0/3.0) * 0.0584262 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49737,7 +56788,7 @@ void rate_He4_Ni58_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni58_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni58_to_p_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni58 + He4 --> p + Cu61 @@ -49752,9 +56803,13 @@ void rate_He4_Ni58_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 21.4671 + -36.0681 * tfactors.T9i + -39.9882 * tfactors.T913i + 13.3129 * tfactors.T913 + -2.90092 * tfactors.T9 + 0.277699 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 36.0681 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9882 * tfactors.T943i + (1.0/3.0) * 13.3129 * tfactors.T923i + -2.90092 + (5.0/3.0) * 0.277699 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49769,7 +56824,7 @@ void rate_He4_Ni58_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni59_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni59_to_p_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + n --> p + Co59 @@ -49784,9 +56839,13 @@ void rate_n_Ni59_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 12.6666 + 2.48878 * tfactors.T913 + 0.158023 * tfactors.T9 + -0.0135864 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.48878 * tfactors.T923i + 0.158023 + (5.0/3.0) * -0.0135864 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49801,7 +56860,7 @@ void rate_n_Ni59_to_p_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni59_to_He4_Fe56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + n --> He4 + Fe56 @@ -49816,9 +56875,13 @@ void rate_n_Ni59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.4083 + -4.21617 * tfactors.T913 + 1.58032 * tfactors.T9 + -0.126895 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -4.21617 * tfactors.T923i + 1.58032 + (5.0/3.0) * -0.126895 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49833,7 +56896,7 @@ void rate_n_Ni59_to_He4_Fe56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni59_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni59_to_n_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + p --> n + Cu59 @@ -49848,9 +56911,13 @@ void rate_p_Ni59_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.6885 + -64.762 * tfactors.T9i + -0.680585 * tfactors.T913 + 0.344111 * tfactors.T9 + -0.0446623 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 64.762 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.680585 * tfactors.T923i + 0.344111 + (5.0/3.0) * -0.0446623 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49865,7 +56932,7 @@ void rate_p_Ni59_to_n_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni59_to_He4_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + p --> He4 + Co56 @@ -49880,9 +56947,13 @@ void rate_p_Ni59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 51.8514 + -2.92715 * tfactors.T9i + -94.1784 * tfactors.T913i + 17.5303 * tfactors.T913 + -5.78946 * tfactors.T9 + 0.587654 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.92715 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1784 * tfactors.T943i + (1.0/3.0) * 17.5303 * tfactors.T923i + -5.78946 + (5.0/3.0) * 0.587654 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49897,7 +56968,7 @@ void rate_p_Ni59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni59_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni59_to_n_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + He4 --> n + Zn62 @@ -49912,9 +56983,13 @@ void rate_He4_Ni59_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.7055 + -65.3405 * tfactors.T9i + -0.824101 * tfactors.T913 + 0.913843 * tfactors.T9 + -0.084157 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 65.3405 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.824101 * tfactors.T923i + 0.913843 + (5.0/3.0) * -0.084157 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49929,7 +57004,7 @@ void rate_He4_Ni59_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni59_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni59_to_p_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni59 + He4 --> p + Cu62 @@ -49944,9 +57019,13 @@ void rate_He4_Ni59_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 18.4545 + -37.3882 * tfactors.T9i + -39.9917 * tfactors.T913i + 15.2078 * tfactors.T913 + -3.13691 * tfactors.T9 + 0.278116 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 37.3882 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9917 * tfactors.T943i + (1.0/3.0) * 15.2078 * tfactors.T923i + -3.13691 + (5.0/3.0) * 0.278116 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49961,7 +57040,7 @@ void rate_He4_Ni59_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni60_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni60_to_He4_Fe57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + n --> He4 + Fe57 @@ -49976,9 +57055,13 @@ void rate_n_Ni60_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -60.4121 + 55.1407 * tfactors.T913 + -5.1585 * tfactors.T9 + 0.212248 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 55.1407 * tfactors.T923i + -5.1585 + (5.0/3.0) * 0.212248 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -49993,7 +57076,7 @@ void rate_n_Ni60_to_He4_Fe57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni60_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni60_to_n_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + p --> n + Cu60 @@ -50008,9 +57091,13 @@ void rate_p_Ni60_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.2617 + -80.1909 * tfactors.T9i + -0.671684 * tfactors.T913 + 0.215296 * tfactors.T9 + -0.0251141 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 80.1909 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.671684 * tfactors.T923i + 0.215296 + (5.0/3.0) * -0.0251141 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50025,7 +57112,7 @@ void rate_p_Ni60_to_n_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni60_to_He4_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + p --> He4 + Co57 @@ -50040,9 +57127,13 @@ void rate_p_Ni60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 53.0001 + -3.0615 * tfactors.T9i + -94.2152 * tfactors.T913i + 16.1097 * tfactors.T913 + -4.84624 * tfactors.T9 + 0.441487 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.0615 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.2152 * tfactors.T943i + (1.0/3.0) * 16.1097 * tfactors.T923i + -4.84624 + (5.0/3.0) * 0.441487 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50057,7 +57148,7 @@ void rate_p_Ni60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni60_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni60_to_n_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + He4 --> n + Zn63 @@ -50072,9 +57163,13 @@ void rate_He4_Ni60_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.4158 + -91.7388 * tfactors.T9i + 1.29216 * tfactors.T913 + -0.174127 * tfactors.T9 + 0.0226404 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 91.7388 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.29216 * tfactors.T923i + -0.174127 + (5.0/3.0) * 0.0226404 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50089,7 +57184,7 @@ void rate_He4_Ni60_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni60_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni60_to_p_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni60 + He4 --> p + Cu63 @@ -50104,9 +57199,13 @@ void rate_He4_Ni60_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 25.9226 + -43.5935 * tfactors.T9i + -39.995 * tfactors.T913i + 9.96871 * tfactors.T913 + -2.08607 * tfactors.T9 + 0.166693 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 43.5935 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.995 * tfactors.T943i + (1.0/3.0) * 9.96871 * tfactors.T923i + -2.08607 + (5.0/3.0) * 0.166693 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50121,7 +57220,7 @@ void rate_He4_Ni60_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ni61_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ni61_to_He4_Fe58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + n --> He4 + Fe58 @@ -50136,9 +57235,13 @@ void rate_n_Ni61_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.5185 + -7.53968 * tfactors.T913 + 4.09062 * tfactors.T9 + -0.416412 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -7.53968 * tfactors.T923i + 4.09062 + (5.0/3.0) * -0.416412 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50153,7 +57256,7 @@ void rate_n_Ni61_to_He4_Fe58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni61_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni61_to_n_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + p --> n + Cu61 @@ -50168,9 +57271,13 @@ void rate_p_Ni61_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.1763 + -35.0409 * tfactors.T9i + -1.69187 * tfactors.T913 + 0.784543 * tfactors.T9 + -0.100904 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 35.0409 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.69187 * tfactors.T923i + 0.784543 + (5.0/3.0) * -0.100904 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50185,7 +57292,7 @@ void rate_p_Ni61_to_n_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni61_to_He4_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + p --> He4 + Co58 @@ -50200,9 +57307,13 @@ void rate_p_Ni61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -74.3746 + -39.0635 * tfactors.T913i + 109.727 * tfactors.T913 + -23.3971 * tfactors.T9 + 2.29485 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0635 * tfactors.T943i + (1.0/3.0) * 109.727 * tfactors.T923i + -23.3971 + (5.0/3.0) * 2.29485 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50217,7 +57328,7 @@ void rate_p_Ni61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni61_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni61_to_n_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + He4 --> n + Zn64 @@ -50232,9 +57343,13 @@ void rate_He4_Ni61_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 4.60741 + -44.8367 * tfactors.T9i + -0.988345 * tfactors.T913 + 3.05973 * tfactors.T9 + -0.380848 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 44.8367 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.988345 * tfactors.T923i + 3.05973 + (5.0/3.0) * -0.380848 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50249,7 +57364,7 @@ void rate_He4_Ni61_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni61_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni61_to_p_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni61 + He4 --> p + Cu64 @@ -50264,9 +57379,13 @@ void rate_He4_Ni61_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 25.1786 + -42.4806 * tfactors.T9i + -39.9983 * tfactors.T913i + 5.14164 * tfactors.T913 + 0.0632313 * tfactors.T9 + -0.0939329 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 42.4806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.9983 * tfactors.T943i + (1.0/3.0) * 5.14164 * tfactors.T923i + 0.0632313 + (5.0/3.0) * -0.0939329 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50281,7 +57400,7 @@ void rate_He4_Ni61_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni62_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni62_to_n_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + p --> n + Cu62 @@ -50296,9 +57415,13 @@ void rate_p_Ni62_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 22.2147 + -54.8962 * tfactors.T9i + -2.13932 * tfactors.T913 + 0.412918 * tfactors.T9 + -0.0409549 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 54.8962 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.13932 * tfactors.T923i + 0.412918 + (5.0/3.0) * -0.0409549 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50313,7 +57436,7 @@ void rate_p_Ni62_to_n_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni62_to_He4_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + p --> He4 + Co59 @@ -50328,9 +57451,13 @@ void rate_p_Ni62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -89.6434 + -39.0669 * tfactors.T913i + 126.723 * tfactors.T913 + -27.3047 * tfactors.T9 + 2.67436 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.0669 * tfactors.T943i + (1.0/3.0) * 126.723 * tfactors.T923i + -27.3047 + (5.0/3.0) * 2.67436 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50345,7 +57472,7 @@ void rate_p_Ni62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni62_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni62_to_n_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + He4 --> n + Zn65 @@ -50360,9 +57487,13 @@ void rate_He4_Ni62_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 17.1063 + -75.2076 * tfactors.T9i + -1.0424 * tfactors.T913 + 0.355927 * tfactors.T9 + -0.0148374 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 75.2076 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.0424 * tfactors.T923i + 0.355927 + (5.0/3.0) * -0.0148374 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50377,7 +57508,7 @@ void rate_He4_Ni62_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni62_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni62_to_p_Cu65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni62 + He4 --> p + Cu65 @@ -50392,9 +57523,13 @@ void rate_He4_Ni62_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 28.6732 + -50.4388 * tfactors.T9i + -40.0015 * tfactors.T913i + 9.18742 * tfactors.T913 + -2.93395 * tfactors.T9 + 0.309787 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 50.4388 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.0015 * tfactors.T943i + (1.0/3.0) * 9.18742 * tfactors.T923i + -2.93395 + (5.0/3.0) * 0.309787 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50409,7 +57544,7 @@ void rate_He4_Ni62_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni63_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni63_to_n_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni63 + p --> n + Cu63 @@ -50424,9 +57559,13 @@ void rate_p_Ni63_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -11.1451 + -8.30152 * tfactors.T9i + 21.0235 * tfactors.T913 + -1.85553 * tfactors.T9 + 0.0587378 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.30152 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.0235 * tfactors.T923i + -1.85553 + (5.0/3.0) * 0.0587378 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50441,7 +57580,7 @@ void rate_p_Ni63_to_n_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Ni63_to_n_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Ni63_to_n_Zn66_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni63 + He4 --> n + Zn66 @@ -50456,9 +57595,13 @@ void rate_He4_Ni63_to_n_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -30.2433 + -26.2207 * tfactors.T9i + 25.0757 * tfactors.T913 + 0.0590561 * tfactors.T9 + -0.21357 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.2207 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.0757 * tfactors.T923i + 0.0590561 + (5.0/3.0) * -0.21357 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50473,7 +57616,7 @@ void rate_He4_Ni63_to_n_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ni64_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ni64_to_n_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ni64 + p --> n + Cu64 @@ -50488,9 +57631,13 @@ void rate_p_Ni64_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.6809 + -28.5167 * tfactors.T9i + -2.37283 * tfactors.T913 + 0.155682 * tfactors.T9 + 0.0314201 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 28.5167 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.37283 * tfactors.T923i + 0.155682 + (5.0/3.0) * 0.0314201 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50505,7 +57652,7 @@ void rate_p_Ni64_to_n_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu57_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu57_to_p_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 + n --> p + Ni57 @@ -50520,9 +57667,13 @@ void rate_n_Cu57_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0221 + -0.57954 * tfactors.T913 + 0.250954 * tfactors.T9 + -0.0264877 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.57954 * tfactors.T923i + 0.250954 + (5.0/3.0) * -0.0264877 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50537,7 +57688,7 @@ void rate_n_Cu57_to_p_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu57_to_He4_Co54_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 + n --> He4 + Co54 @@ -50552,9 +57703,13 @@ void rate_n_Cu57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.5006 + 1.52892 * tfactors.T913 + -0.01999 * tfactors.T9 + 0.0715186 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.52892 * tfactors.T923i + -0.01999 + (5.0/3.0) * 0.0715186 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50569,7 +57724,7 @@ void rate_n_Cu57_to_He4_Co54_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu57_to_p_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu57_to_p_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu57 + He4 --> p + Zn60 @@ -50584,9 +57739,13 @@ void rate_He4_Cu57_to_p_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 65.3414 + -98.8126 * tfactors.T913i + -0.580624 * tfactors.T913 + -0.793165 * tfactors.T9 + 0.0435934 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -98.8126 * tfactors.T943i + (1.0/3.0) * -0.580624 * tfactors.T923i + -0.793165 + (5.0/3.0) * 0.0435934 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50601,7 +57760,7 @@ void rate_He4_Cu57_to_p_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu58_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu58_to_p_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + n --> p + Ni58 @@ -50616,9 +57775,13 @@ void rate_n_Cu58_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.8051 + -0.603447 * tfactors.T913 + 0.300346 * tfactors.T9 + -0.0361808 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.603447 * tfactors.T923i + 0.300346 + (5.0/3.0) * -0.0361808 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50633,7 +57796,7 @@ void rate_n_Cu58_to_p_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu58_to_He4_Co55_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + n --> He4 + Co55 @@ -50648,9 +57811,13 @@ void rate_n_Cu58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.9778 + 4.29921 * tfactors.T913 + -0.76309 * tfactors.T9 + 0.10257 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.29921 * tfactors.T923i + -0.76309 + (5.0/3.0) * 0.10257 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50665,7 +57832,7 @@ void rate_n_Cu58_to_He4_Co55_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu58_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu58_to_p_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu58 + He4 --> p + Zn61 @@ -50680,9 +57847,13 @@ void rate_He4_Cu58_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -80.5277 + -2.09612 * tfactors.T9i + -40.9023 * tfactors.T913i + 107.263 * tfactors.T913 + -20.9034 * tfactors.T9 + 1.9567 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.09612 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9023 * tfactors.T943i + (1.0/3.0) * 107.263 * tfactors.T923i + -20.9034 + (5.0/3.0) * 1.9567 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50697,7 +57868,7 @@ void rate_He4_Cu58_to_p_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu59_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu59_to_p_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + n --> p + Ni59 @@ -50712,9 +57883,13 @@ void rate_n_Cu59_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.6885 + -0.680585 * tfactors.T913 + 0.344111 * tfactors.T9 + -0.0446623 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.680585 * tfactors.T923i + 0.344111 + (5.0/3.0) * -0.0446623 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50729,7 +57904,7 @@ void rate_n_Cu59_to_p_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + n --> He4 + Co56 @@ -50744,9 +57919,13 @@ void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.0108 + -1.00882 * tfactors.T913 + 1.88993 * tfactors.T9 + -0.202319 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.00882 * tfactors.T923i + 1.88993 + (5.0/3.0) * -0.202319 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50761,7 +57940,7 @@ void rate_n_Cu59_to_He4_Co56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu59_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu59_to_n_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + p --> n + Zn59 @@ -50776,9 +57955,13 @@ void rate_p_Cu59_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.3972 + -114.642 * tfactors.T9i + -0.234419 * tfactors.T913 + 0.226299 * tfactors.T9 + -0.0269152 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 114.642 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.234419 * tfactors.T923i + 0.226299 + (5.0/3.0) * -0.0269152 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50793,7 +57976,7 @@ void rate_p_Cu59_to_n_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + p --> He4 + Ni56 @@ -50808,9 +57991,13 @@ void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.7688 + -39.9808 * tfactors.T913i + 13.6773 * tfactors.T913 + -3.76429 * tfactors.T9 + 0.438096 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9808 * tfactors.T943i + (1.0/3.0) * 13.6773 * tfactors.T923i + -3.76429 + (5.0/3.0) * 0.438096 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50825,7 +58012,7 @@ void rate_p_Cu59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu59_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu59_to_n_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + He4 --> n + Ga62 @@ -50840,9 +58027,13 @@ void rate_He4_Cu59_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 10.6411 + -116.082 * tfactors.T9i + 5.15052 * tfactors.T913 + -1.31888 * tfactors.T9 + 0.177044 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 116.082 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.15052 * tfactors.T923i + -1.31888 + (5.0/3.0) * 0.177044 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50857,7 +58048,7 @@ void rate_He4_Cu59_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu59_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu59_to_p_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu59 + He4 --> p + Zn62 @@ -50872,9 +58063,13 @@ void rate_He4_Cu59_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -110.088 + -0.578461 * tfactors.T9i + -40.9058 * tfactors.T913i + 144.145 * tfactors.T913 + -30.7303 * tfactors.T9 + 3.0118 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 0.578461 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9058 * tfactors.T943i + (1.0/3.0) * 144.145 * tfactors.T923i + -30.7303 + (5.0/3.0) * 3.0118 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50889,7 +58084,7 @@ void rate_He4_Cu59_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu60_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu60_to_p_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + n --> p + Ni60 @@ -50904,9 +58099,13 @@ void rate_n_Cu60_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.6523 + -0.671684 * tfactors.T913 + 0.215296 * tfactors.T9 + -0.0251141 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.671684 * tfactors.T923i + 0.215296 + (5.0/3.0) * -0.0251141 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50921,7 +58120,7 @@ void rate_n_Cu60_to_p_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu60_to_He4_Co57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + n --> He4 + Co57 @@ -50936,9 +58135,13 @@ void rate_n_Cu60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.8419 + 2.72669 * tfactors.T913 + -0.141713 * tfactors.T9 + 0.025172 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.72669 * tfactors.T923i + -0.141713 + (5.0/3.0) * 0.025172 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50953,7 +58156,7 @@ void rate_n_Cu60_to_He4_Co57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu60_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu60_to_n_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + p --> n + Zn60 @@ -50968,9 +58171,13 @@ void rate_p_Cu60_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.8375 + -57.3109 * tfactors.T9i + -0.620889 * tfactors.T913 + 0.360154 * tfactors.T9 + -0.0412341 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 57.3109 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.620889 * tfactors.T923i + 0.360154 + (5.0/3.0) * -0.0412341 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -50985,7 +58192,7 @@ void rate_p_Cu60_to_n_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu60_to_He4_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + p --> He4 + Ni57 @@ -51000,9 +58207,13 @@ void rate_p_Cu60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.7756 + -39.9846 * tfactors.T913i + 20.3348 * tfactors.T913 + -4.47882 * tfactors.T9 + 0.442893 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9846 * tfactors.T943i + (1.0/3.0) * 20.3348 * tfactors.T923i + -4.47882 + (5.0/3.0) * 0.442893 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51017,7 +58228,7 @@ void rate_p_Cu60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu60_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu60_to_n_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + He4 --> n + Ga63 @@ -51032,9 +58243,13 @@ void rate_He4_Cu60_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.5144 + -86.3771 * tfactors.T9i + 4.02167 * tfactors.T913 + -0.688499 * tfactors.T9 + 0.0864831 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 86.3771 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 4.02167 * tfactors.T923i + -0.688499 + (5.0/3.0) * 0.0864831 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51049,7 +58264,7 @@ void rate_He4_Cu60_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu60_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu60_to_p_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu60 + He4 --> p + Zn63 @@ -51064,9 +58279,13 @@ void rate_He4_Cu60_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -39.0633 + -11.548 * tfactors.T9i + -40.9093 * tfactors.T913i + 67.8676 * tfactors.T913 + -12.8153 * tfactors.T9 + 1.17292 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 11.548 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9093 * tfactors.T943i + (1.0/3.0) * 67.8676 * tfactors.T923i + -12.8153 + (5.0/3.0) * 1.17292 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51081,7 +58300,7 @@ void rate_He4_Cu60_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu61_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu61_to_p_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + n --> p + Ni61 @@ -51096,9 +58315,13 @@ void rate_n_Cu61_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.1763 + -1.69187 * tfactors.T913 + 0.784543 * tfactors.T9 + -0.100904 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.69187 * tfactors.T923i + 0.784543 + (5.0/3.0) * -0.100904 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51113,7 +58336,7 @@ void rate_n_Cu61_to_p_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu61_to_He4_Co58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + n --> He4 + Co58 @@ -51128,9 +58351,13 @@ void rate_n_Cu61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 2.87474 + 1.07449 * tfactors.T913 + 3.05815 * tfactors.T9 + -0.386686 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.07449 * tfactors.T923i + 3.05815 + (5.0/3.0) * -0.386686 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51145,7 +58372,7 @@ void rate_n_Cu61_to_He4_Co58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu61_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu61_to_n_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + p --> n + Zn61 @@ -51160,9 +58387,13 @@ void rate_p_Cu61_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4412 + -74.5068 * tfactors.T9i + -0.657488 * tfactors.T913 + 0.358985 * tfactors.T9 + -0.0432252 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.5068 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.657488 * tfactors.T923i + 0.358985 + (5.0/3.0) * -0.0432252 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51177,7 +58408,7 @@ void rate_p_Cu61_to_n_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu61_to_He4_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + p --> He4 + Ni58 @@ -51192,9 +58423,13 @@ void rate_p_Cu61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 21.3915 + -39.9882 * tfactors.T913i + 13.3129 * tfactors.T913 + -2.90092 * tfactors.T9 + 0.277699 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9882 * tfactors.T943i + (1.0/3.0) * 13.3129 * tfactors.T923i + -2.90092 + (5.0/3.0) * 0.277699 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51209,7 +58444,7 @@ void rate_p_Cu61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu61_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu61_to_n_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + He4 --> n + Ga64 @@ -51224,9 +58459,13 @@ void rate_He4_Cu61_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.5232 + -102.07 * tfactors.T9i + 2.74537 * tfactors.T913 + -0.458111 * tfactors.T9 + 0.0581457 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.07 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.74537 * tfactors.T923i + -0.458111 + (5.0/3.0) * 0.0581457 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51241,7 +58480,7 @@ void rate_He4_Cu61_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu61_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu61_to_p_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu61 + He4 --> p + Zn64 @@ -51256,9 +58495,13 @@ void rate_He4_Cu61_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -49.6329 + -9.79576 * tfactors.T9i + -40.9126 * tfactors.T913i + 78.2645 * tfactors.T913 + -15.0794 * tfactors.T9 + 1.39304 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 9.79576 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9126 * tfactors.T943i + (1.0/3.0) * 78.2645 * tfactors.T923i + -15.0794 + (5.0/3.0) * 1.39304 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51273,7 +58516,7 @@ void rate_He4_Cu61_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu62_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu62_to_p_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + n --> p + Ni62 @@ -51288,9 +58531,13 @@ void rate_n_Cu62_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.1161 + -2.13932 * tfactors.T913 + 0.412918 * tfactors.T9 + -0.0409549 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.13932 * tfactors.T923i + 0.412918 + (5.0/3.0) * -0.0409549 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51305,7 +58552,7 @@ void rate_n_Cu62_to_p_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu62_to_He4_Co59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + n --> He4 + Co59 @@ -51320,9 +58567,13 @@ void rate_n_Cu62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.4259 + 0.965159 * tfactors.T913 + 0.563053 * tfactors.T9 + -0.0358157 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.965159 * tfactors.T923i + 0.563053 + (5.0/3.0) * -0.0358157 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51337,7 +58588,7 @@ void rate_n_Cu62_to_He4_Co59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu62_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu62_to_n_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + p --> n + Zn62 @@ -51352,9 +58603,13 @@ void rate_p_Cu62_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 16.6773 + -27.9523 * tfactors.T9i + -0.772736 * tfactors.T913 + 1.08329 * tfactors.T9 + -0.144709 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.9523 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.772736 * tfactors.T923i + 1.08329 + (5.0/3.0) * -0.144709 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51369,7 +58624,7 @@ void rate_p_Cu62_to_n_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu62_to_He4_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + p --> He4 + Ni59 @@ -51384,9 +58639,13 @@ void rate_p_Cu62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.0541 + -39.9917 * tfactors.T913i + 15.2078 * tfactors.T913 + -3.13691 * tfactors.T9 + 0.278116 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9917 * tfactors.T943i + (1.0/3.0) * 15.2078 * tfactors.T923i + -3.13691 + (5.0/3.0) * 0.278116 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51401,7 +58660,7 @@ void rate_p_Cu62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu62_to_p_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu62_to_p_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu62 + He4 --> p + Zn65 @@ -51416,9 +58675,13 @@ void rate_He4_Cu62_to_p_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.79044 + -20.3112 * tfactors.T9i + -40.9159 * tfactors.T913i + 37.2348 * tfactors.T913 + -6.13297 * tfactors.T9 + 0.499001 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 20.3112 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.9159 * tfactors.T943i + (1.0/3.0) * 37.2348 * tfactors.T923i + -6.13297 + (5.0/3.0) * 0.499001 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51433,7 +58696,7 @@ void rate_He4_Cu62_to_p_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu63_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu63_to_p_Ni63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + n --> p + Ni63 @@ -51448,9 +58711,13 @@ void rate_n_Cu63_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -11.8382 + 21.0235 * tfactors.T913 + -1.85553 * tfactors.T9 + 0.0587378 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 21.0235 * tfactors.T923i + -1.85553 + (5.0/3.0) * 0.0587378 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51465,7 +58732,7 @@ void rate_n_Cu63_to_p_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu63_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu63_to_n_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + p --> n + Zn63 @@ -51480,9 +58747,13 @@ void rate_p_Cu63_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0355 + -48.1453 * tfactors.T9i + -2.10997 * tfactors.T913 + 0.691727 * tfactors.T9 + -0.0763545 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 48.1453 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -2.10997 * tfactors.T923i + 0.691727 + (5.0/3.0) * -0.0763545 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51497,7 +58768,7 @@ void rate_p_Cu63_to_n_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu63_to_He4_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + p --> He4 + Ni60 @@ -51512,9 +58783,13 @@ void rate_p_Cu63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 25.8494 + -39.995 * tfactors.T913i + 9.96871 * tfactors.T913 + -2.08607 * tfactors.T9 + 0.166693 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.995 * tfactors.T943i + (1.0/3.0) * 9.96871 * tfactors.T923i + -2.08607 + (5.0/3.0) * 0.166693 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51529,7 +58804,7 @@ void rate_p_Cu63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Cu63_to_p_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Cu63_to_p_Zn66_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu63 + He4 --> p + Zn66 @@ -51544,9 +58819,13 @@ void rate_He4_Cu63_to_p_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -13.8091 + -17.9192 * tfactors.T9i + -40.919 * tfactors.T913i + 40.0655 * tfactors.T913 + -6.06828 * tfactors.T9 + 0.437776 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 17.9192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -40.919 * tfactors.T943i + (1.0/3.0) * 40.0655 * tfactors.T923i + -6.06828 + (5.0/3.0) * 0.437776 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51561,7 +58840,7 @@ void rate_He4_Cu63_to_p_Zn66_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Cu64_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Cu64_to_p_Ni64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 + n --> p + Ni64 @@ -51576,9 +58855,13 @@ void rate_n_Cu64_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 18.5823 + -2.37283 * tfactors.T913 + 0.155682 * tfactors.T9 + 0.0314201 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.37283 * tfactors.T923i + 0.155682 + (5.0/3.0) * 0.0314201 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51593,7 +58876,7 @@ void rate_n_Cu64_to_p_Ni64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu64_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu64_to_n_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 + p --> n + Zn64 @@ -51608,9 +58891,13 @@ void rate_p_Cu64_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -44.155 + -2.35605 * tfactors.T9i + 50.9002 * tfactors.T913 + -6.85035 * tfactors.T9 + 0.452984 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 2.35605 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 50.9002 * tfactors.T923i + -6.85035 + (5.0/3.0) * 0.452984 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51625,7 +58912,7 @@ void rate_p_Cu64_to_n_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu64_to_He4_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu64 + p --> He4 + Ni61 @@ -51640,9 +58927,13 @@ void rate_p_Cu64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 26.7806 + -39.9983 * tfactors.T913i + 5.14164 * tfactors.T913 + 0.0632313 * tfactors.T9 + -0.0939329 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -39.9983 * tfactors.T943i + (1.0/3.0) * 5.14164 * tfactors.T923i + 0.0632313 + (5.0/3.0) * -0.0939329 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51657,7 +58948,7 @@ void rate_p_Cu64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu65_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu65_to_n_Zn65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu65 + p --> n + Zn65 @@ -51672,9 +58963,13 @@ void rate_p_Cu65_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.5015 + -24.7688 * tfactors.T9i + -1.75991 * tfactors.T913 + 0.616648 * tfactors.T9 + -0.0273633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 24.7688 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.75991 * tfactors.T923i + 0.616648 + (5.0/3.0) * -0.0273633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51689,7 +58984,7 @@ void rate_p_Cu65_to_n_Zn65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Cu65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Cu65_to_He4_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Cu65 + p --> He4 + Ni62 @@ -51704,9 +58999,13 @@ void rate_p_Cu65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 28.6023 + -40.0015 * tfactors.T913i + 9.18742 * tfactors.T913 + -2.93395 * tfactors.T9 + 0.309787 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.0015 * tfactors.T943i + (1.0/3.0) * 9.18742 * tfactors.T923i + -2.93395 + (5.0/3.0) * 0.309787 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51721,7 +59020,7 @@ void rate_p_Cu65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn59_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn59_to_p_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 + n --> p + Cu59 @@ -51736,9 +59035,13 @@ void rate_n_Zn59_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.3972 + -0.234419 * tfactors.T913 + 0.226299 * tfactors.T9 + -0.0269152 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.234419 * tfactors.T923i + 0.226299 + (5.0/3.0) * -0.0269152 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51753,7 +59056,7 @@ void rate_n_Zn59_to_p_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn59_to_He4_Ni56_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 + n --> He4 + Ni56 @@ -51768,9 +59071,13 @@ void rate_n_Zn59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.0783 + 4.01795 * tfactors.T913 + -1.00571 * tfactors.T9 + 0.129548 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.01795 * tfactors.T923i + -1.00571 + (5.0/3.0) * 0.129548 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51785,7 +59092,7 @@ void rate_n_Zn59_to_He4_Ni56_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn59_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn59_to_p_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn59 + He4 --> p + Ga62 @@ -51800,9 +59107,13 @@ void rate_He4_Zn59_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -105.635 + -1.44039 * tfactors.T9i + -41.8099 * tfactors.T913i + 139.289 * tfactors.T913 + -29.8912 * tfactors.T9 + 2.95102 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.44039 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -41.8099 * tfactors.T943i + (1.0/3.0) * 139.289 * tfactors.T923i + -29.8912 + (5.0/3.0) * 2.95102 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51817,7 +59128,7 @@ void rate_He4_Zn59_to_p_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn60_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn60_to_p_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + n --> p + Cu60 @@ -51832,9 +59143,13 @@ void rate_n_Zn60_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4469 + -0.620889 * tfactors.T913 + 0.360154 * tfactors.T9 + -0.0412341 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.620889 * tfactors.T923i + 0.360154 + (5.0/3.0) * -0.0412341 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51849,7 +59164,7 @@ void rate_n_Zn60_to_p_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + n --> He4 + Ni57 @@ -51864,9 +59179,13 @@ void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 12.4241 + 5.43552 * tfactors.T913 + -1.25169 * tfactors.T9 + 0.148383 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.43552 * tfactors.T923i + -1.25169 + (5.0/3.0) * 0.148383 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51881,7 +59200,7 @@ void rate_n_Zn60_to_He4_Ni57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn60_to_He4_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn60_to_He4_Cu57_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + p --> He4 + Cu57 @@ -51896,9 +59215,13 @@ void rate_p_Zn60_to_He4_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 68.037 + -23.3731 * tfactors.T9i + -98.8126 * tfactors.T913i + -0.580624 * tfactors.T913 + -0.793165 * tfactors.T9 + 0.0435934 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 23.3731 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -98.8126 * tfactors.T943i + (1.0/3.0) * -0.580624 * tfactors.T923i + -0.793165 + (5.0/3.0) * 0.0435934 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51913,7 +59236,7 @@ void rate_p_Zn60_to_He4_Cu57_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn60_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn60_to_n_Ge63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + He4 --> n + Ge63 @@ -51928,9 +59251,13 @@ void rate_He4_Zn60_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.7238 + -149.52 * tfactors.T9i + 1.7273 * tfactors.T913 + -0.26458 * tfactors.T9 + 0.0395 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 149.52 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.7273 * tfactors.T923i + -0.26458 + (5.0/3.0) * 0.0395 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51945,7 +59272,7 @@ void rate_He4_Zn60_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn60_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn60_to_p_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn60 + He4 --> p + Ga63 @@ -51960,9 +59287,13 @@ void rate_He4_Zn60_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.0286 + -29.0661 * tfactors.T9i + -41.8134 * tfactors.T913i + 14.9697 * tfactors.T913 + -4.35453 * tfactors.T9 + 0.544288 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 29.0661 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -41.8134 * tfactors.T943i + (1.0/3.0) * 14.9697 * tfactors.T923i + -4.35453 + (5.0/3.0) * 0.544288 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -51977,7 +59308,7 @@ void rate_He4_Zn60_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn61_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn61_to_p_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + n --> p + Cu61 @@ -51992,9 +59323,13 @@ void rate_n_Zn61_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.4412 + -0.657488 * tfactors.T913 + 0.358985 * tfactors.T9 + -0.0432252 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.657488 * tfactors.T923i + 0.358985 + (5.0/3.0) * -0.0432252 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52009,7 +59344,7 @@ void rate_n_Zn61_to_p_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn61_to_He4_Ni58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + n --> He4 + Ni58 @@ -52024,9 +59359,13 @@ void rate_n_Zn61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.9844 + 2.9413 * tfactors.T913 + -0.542181 * tfactors.T9 + 0.0584262 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.9413 * tfactors.T923i + -0.542181 + (5.0/3.0) * 0.0584262 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52041,7 +59380,7 @@ void rate_n_Zn61_to_He4_Ni58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn61_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn61_to_He4_Cu58_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + p --> He4 + Cu58 @@ -52056,9 +59395,13 @@ void rate_p_Zn61_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -79.5047 + -40.9023 * tfactors.T913i + 107.263 * tfactors.T913 + -20.9034 * tfactors.T9 + 1.9567 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9023 * tfactors.T943i + (1.0/3.0) * 107.263 * tfactors.T923i + -20.9034 + (5.0/3.0) * 1.9567 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52073,7 +59416,7 @@ void rate_p_Zn61_to_He4_Cu58_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn61_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn61_to_n_Ge64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + He4 --> n + Ge64 @@ -52088,9 +59431,13 @@ void rate_He4_Zn61_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.60553 + -89.0782 * tfactors.T9i + 7.47259 * tfactors.T913 + -1.92043 * tfactors.T9 + 0.239118 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 89.0782 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.47259 * tfactors.T923i + -1.92043 + (5.0/3.0) * 0.239118 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52105,7 +59452,7 @@ void rate_He4_Zn61_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_Zn61_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_Zn61_to_p_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn61 + He4 --> p + Ga64 @@ -52120,9 +59467,13 @@ void rate_He4_Zn61_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 8.46743 + -27.5631 * tfactors.T9i + -41.8168 * tfactors.T913i + 24.3154 * tfactors.T913 + -5.57278 * tfactors.T9 + 0.588234 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 27.5631 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -41.8168 * tfactors.T943i + (1.0/3.0) * 24.3154 * tfactors.T923i + -5.57278 + (5.0/3.0) * 0.588234 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52137,7 +59488,7 @@ void rate_He4_Zn61_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn62_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn62_to_p_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + n --> p + Cu62 @@ -52152,9 +59503,13 @@ void rate_n_Zn62_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.7759 + -0.772736 * tfactors.T913 + 1.08329 * tfactors.T9 + -0.144709 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.772736 * tfactors.T923i + 1.08329 + (5.0/3.0) * -0.144709 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52169,7 +59524,7 @@ void rate_n_Zn62_to_p_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn62_to_He4_Ni59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + n --> He4 + Ni59 @@ -52184,9 +59539,13 @@ void rate_n_Zn62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 15.4037 + -0.824101 * tfactors.T913 + 0.913843 * tfactors.T9 + -0.084157 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.824101 * tfactors.T923i + 0.913843 + (5.0/3.0) * -0.084157 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52201,7 +59560,7 @@ void rate_n_Zn62_to_He4_Ni59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn62_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn62_to_n_Ga62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + p --> n + Ga62 @@ -52216,9 +59575,13 @@ void rate_p_Zn62_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0588 + -115.504 * tfactors.T9i + -1.58452 * tfactors.T913 + 0.736569 * tfactors.T9 + -0.0951725 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 115.504 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.58452 * tfactors.T923i + 0.736569 + (5.0/3.0) * -0.0951725 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52233,7 +59596,7 @@ void rate_p_Zn62_to_n_Ga62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn62_to_He4_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn62 + p --> He4 + Cu59 @@ -52248,9 +59611,13 @@ void rate_p_Zn62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -107.39 + -40.9058 * tfactors.T913i + 144.145 * tfactors.T913 + -30.7303 * tfactors.T9 + 3.0118 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9058 * tfactors.T943i + (1.0/3.0) * 144.145 * tfactors.T923i + -30.7303 + (5.0/3.0) * 3.0118 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52265,7 +59632,7 @@ void rate_p_Zn62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn63_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn63_to_p_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + n --> p + Cu63 @@ -52280,9 +59647,13 @@ void rate_n_Zn63_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0355 + -2.10997 * tfactors.T913 + 0.691727 * tfactors.T9 + -0.0763545 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -2.10997 * tfactors.T923i + 0.691727 + (5.0/3.0) * -0.0763545 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52297,7 +59668,7 @@ void rate_n_Zn63_to_p_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn63_to_He4_Ni60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + n --> He4 + Ni60 @@ -52312,9 +59683,13 @@ void rate_n_Zn63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.3426 + 1.29216 * tfactors.T913 + -0.174127 * tfactors.T9 + 0.0226404 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.29216 * tfactors.T923i + -0.174127 + (5.0/3.0) * 0.0226404 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52329,7 +59704,7 @@ void rate_n_Zn63_to_He4_Ni60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn63_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn63_to_n_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + p --> n + Ga63 @@ -52344,9 +59719,13 @@ void rate_p_Zn63_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.1422 + -74.8291 * tfactors.T9i + -0.334251 * tfactors.T913 + 0.328281 * tfactors.T9 + -0.0442083 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 74.8291 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.334251 * tfactors.T923i + 0.328281 + (5.0/3.0) * -0.0442083 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52361,7 +59740,7 @@ void rate_p_Zn63_to_n_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn63_to_He4_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn63 + p --> He4 + Cu60 @@ -52376,9 +59755,13 @@ void rate_p_Zn63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -37.527 + -40.9093 * tfactors.T913i + 67.8676 * tfactors.T913 + -12.8153 * tfactors.T9 + 1.17292 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9093 * tfactors.T943i + (1.0/3.0) * 67.8676 * tfactors.T923i + -12.8153 + (5.0/3.0) * 1.17292 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52393,7 +59776,7 @@ void rate_p_Zn63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn64_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn64_to_p_Cu64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 + n --> p + Cu64 @@ -52408,9 +59791,13 @@ void rate_n_Zn64_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -43.0564 + 50.9002 * tfactors.T913 + -6.85035 * tfactors.T9 + 0.452984 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 50.9002 * tfactors.T923i + -6.85035 + (5.0/3.0) * 0.452984 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52425,7 +59812,7 @@ void rate_n_Zn64_to_p_Cu64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn64_to_He4_Ni61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 + n --> He4 + Ni61 @@ -52440,9 +59827,13 @@ void rate_n_Zn64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 7.30798 + -0.988345 * tfactors.T913 + 3.05973 * tfactors.T9 + -0.380848 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.988345 * tfactors.T923i + 3.05973 + (5.0/3.0) * -0.380848 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52457,7 +59848,7 @@ void rate_n_Zn64_to_He4_Ni61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn64_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn64_to_n_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 + p --> n + Ga64 @@ -52472,9 +59863,13 @@ void rate_p_Zn64_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.0454 + -92.2741 * tfactors.T9i + -0.311485 * tfactors.T913 + 0.306024 * tfactors.T9 + -0.0439383 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 92.2741 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.311485 * tfactors.T923i + 0.306024 + (5.0/3.0) * -0.0439383 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52489,7 +59884,7 @@ void rate_p_Zn64_to_n_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn64_to_He4_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn64 + p --> He4 + Cu61 @@ -52504,9 +59899,13 @@ void rate_p_Zn64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -46.9323 + -40.9126 * tfactors.T913i + 78.2645 * tfactors.T913 + -15.0794 * tfactors.T9 + 1.39304 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9126 * tfactors.T943i + (1.0/3.0) * 78.2645 * tfactors.T923i + -15.0794 + (5.0/3.0) * 1.39304 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52521,7 +59920,7 @@ void rate_p_Zn64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn65_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn65_to_p_Cu65_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 + n --> p + Cu65 @@ -52536,9 +59935,13 @@ void rate_n_Zn65_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 17.096 + -1.75991 * tfactors.T913 + 0.616648 * tfactors.T9 + -0.0273633 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.75991 * tfactors.T923i + 0.616648 + (5.0/3.0) * -0.0273633 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52553,7 +59956,7 @@ void rate_n_Zn65_to_p_Cu65_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn65_to_He4_Ni62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 + n --> He4 + Ni62 @@ -52568,9 +59971,13 @@ void rate_n_Zn65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 16.63 + -1.0424 * tfactors.T913 + 0.355927 * tfactors.T9 + -0.0148374 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.0424 * tfactors.T923i + 0.355927 + (5.0/3.0) * -0.0148374 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52585,7 +59992,7 @@ void rate_n_Zn65_to_He4_Ni62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn65_to_He4_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn65_to_He4_Cu62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn65 + p --> He4 + Cu62 @@ -52600,9 +60007,13 @@ void rate_p_Zn65_to_He4_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -7.16817 + -40.9159 * tfactors.T913i + 37.2348 * tfactors.T913 + -6.13297 * tfactors.T9 + 0.499001 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.9159 * tfactors.T943i + (1.0/3.0) * 37.2348 * tfactors.T923i + -6.13297 + (5.0/3.0) * 0.499001 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52617,7 +60028,7 @@ void rate_p_Zn65_to_He4_Cu62_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Zn66_to_He4_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Zn66_to_He4_Ni63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn66 + n --> He4 + Ni63 @@ -52632,9 +60043,13 @@ void rate_n_Zn66_to_He4_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -28.2336 + 25.0757 * tfactors.T913 + 0.0590561 * tfactors.T9 + -0.21357 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 25.0757 * tfactors.T923i + 0.0590561 + (5.0/3.0) * -0.21357 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52649,7 +60064,7 @@ void rate_n_Zn66_to_He4_Ni63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Zn66_to_He4_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Zn66_to_He4_Cu63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Zn66 + p --> He4 + Cu63 @@ -52664,9 +60079,13 @@ void rate_p_Zn66_to_He4_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.1063 + -40.919 * tfactors.T913i + 40.0655 * tfactors.T913 + -6.06828 * tfactors.T9 + 0.437776 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -40.919 * tfactors.T943i + (1.0/3.0) * 40.0655 * tfactors.T923i + -6.06828 + (5.0/3.0) * 0.437776 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52681,7 +60100,7 @@ void rate_p_Zn66_to_He4_Cu63_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga62_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga62_to_p_Zn62_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 + n --> p + Zn62 @@ -52696,9 +60115,13 @@ void rate_n_Ga62_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 21.0588 + -1.58452 * tfactors.T913 + 0.736569 * tfactors.T9 + -0.0951725 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.58452 * tfactors.T923i + 0.736569 + (5.0/3.0) * -0.0951725 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52713,7 +60136,7 @@ void rate_n_Ga62_to_p_Zn62_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga62_to_He4_Cu59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 + n --> He4 + Cu59 @@ -52728,9 +60151,13 @@ void rate_n_Ga62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.3393 + 5.15052 * tfactors.T913 + -1.31888 * tfactors.T9 + 0.177044 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 5.15052 * tfactors.T923i + -1.31888 + (5.0/3.0) * 0.177044 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52745,7 +60172,7 @@ void rate_n_Ga62_to_He4_Cu59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga62_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga62_to_He4_Zn59_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga62 + p --> He4 + Zn59 @@ -52760,9 +60187,13 @@ void rate_p_Ga62_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -102.937 + -41.8099 * tfactors.T913i + 139.289 * tfactors.T913 + -29.8912 * tfactors.T9 + 2.95102 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -41.8099 * tfactors.T943i + (1.0/3.0) * 139.289 * tfactors.T923i + -29.8912 + (5.0/3.0) * 2.95102 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52777,7 +60208,7 @@ void rate_p_Ga62_to_He4_Zn59_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga63_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga63_to_p_Zn63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + n --> p + Zn63 @@ -52792,9 +60223,13 @@ void rate_n_Ga63_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.1422 + -0.334251 * tfactors.T913 + 0.328281 * tfactors.T9 + -0.0442083 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.334251 * tfactors.T923i + 0.328281 + (5.0/3.0) * -0.0442083 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52809,7 +60244,7 @@ void rate_n_Ga63_to_p_Zn63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga63_to_He4_Cu60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + n --> He4 + Cu60 @@ -52824,9 +60259,13 @@ void rate_n_Ga63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 13.0507 + 4.02167 * tfactors.T913 + -0.688499 * tfactors.T9 + 0.0864831 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 4.02167 * tfactors.T923i + -0.688499 + (5.0/3.0) * 0.0864831 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52841,7 +60280,7 @@ void rate_n_Ga63_to_He4_Cu60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga63_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga63_to_n_Ge63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + p --> n + Ge63 @@ -52856,9 +60295,13 @@ void rate_p_Ga63_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.5443 + -120.452 * tfactors.T9i + 0.716405 * tfactors.T913 + 0.00814169 * tfactors.T9 + -0.00430239 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 120.452 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 0.716405 * tfactors.T923i + 0.00814169 + (5.0/3.0) * -0.00430239 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52873,7 +60316,7 @@ void rate_p_Ga63_to_n_Ge63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga63_to_He4_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga63 + p --> He4 + Zn60 @@ -52888,9 +60331,13 @@ void rate_p_Ga63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 19.9554 + -41.8134 * tfactors.T913i + 14.9697 * tfactors.T913 + -4.35453 * tfactors.T9 + 0.544288 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -41.8134 * tfactors.T943i + (1.0/3.0) * 14.9697 * tfactors.T923i + -4.35453 + (5.0/3.0) * 0.544288 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52905,7 +60352,7 @@ void rate_p_Ga63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga64_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga64_to_p_Zn64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 + n --> p + Zn64 @@ -52920,9 +60367,13 @@ void rate_n_Ga64_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.0454 + -0.311485 * tfactors.T913 + 0.306024 * tfactors.T9 + -0.0439383 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -0.311485 * tfactors.T923i + 0.306024 + (5.0/3.0) * -0.0439383 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52937,7 +60388,7 @@ void rate_n_Ga64_to_p_Zn64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ga64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ga64_to_He4_Cu61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 + n --> He4 + Cu61 @@ -52952,9 +60403,13 @@ void rate_n_Ga64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 15.2238 + 2.74537 * tfactors.T913 + -0.458111 * tfactors.T9 + 0.0581457 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 2.74537 * tfactors.T923i + -0.458111 + (5.0/3.0) * 0.0581457 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -52969,7 +60424,7 @@ void rate_n_Ga64_to_He4_Cu61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga64_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga64_to_n_Ge64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 + p --> n + Ge64 @@ -52984,9 +60439,13 @@ void rate_p_Ga64_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.5679 + -61.5151 * tfactors.T9i + -1.04067 * tfactors.T913 + 0.575006 * tfactors.T9 + -0.0714547 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 61.5151 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.04067 * tfactors.T923i + 0.575006 + (5.0/3.0) * -0.0714547 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53001,7 +60460,7 @@ void rate_p_Ga64_to_n_Ge64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Ga64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Ga64_to_He4_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ga64 + p --> He4 + Zn61 @@ -53016,9 +60475,13 @@ void rate_p_Ga64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.168 + -41.8168 * tfactors.T913i + 24.3154 * tfactors.T913 + -5.57278 * tfactors.T9 + 0.588234 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -41.8168 * tfactors.T943i + (1.0/3.0) * 24.3154 * tfactors.T923i + -5.57278 + (5.0/3.0) * 0.588234 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53033,7 +60496,7 @@ void rate_p_Ga64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ge63_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ge63_to_p_Ga63_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 + n --> p + Ga63 @@ -53048,9 +60511,13 @@ void rate_n_Ge63_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 19.5443 + 0.716405 * tfactors.T913 + 0.00814169 * tfactors.T9 + -0.00430239 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 0.716405 * tfactors.T923i + 0.00814169 + (5.0/3.0) * -0.00430239 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53065,7 +60532,7 @@ void rate_n_Ge63_to_p_Ga63_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ge63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ge63_to_He4_Zn60_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge63 + n --> He4 + Zn60 @@ -53080,9 +60547,13 @@ void rate_n_Ge63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 14.6506 + 1.7273 * tfactors.T913 + -0.26458 * tfactors.T9 + 0.0395 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 1.7273 * tfactors.T923i + -0.26458 + (5.0/3.0) * 0.0395 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53097,7 +60568,7 @@ void rate_n_Ge63_to_He4_Zn60_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ge64_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ge64_to_p_Ga64_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge64 + n --> p + Ga64 @@ -53112,9 +60583,13 @@ void rate_n_Ge64_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = 20.5679 + -1.04067 * tfactors.T913 + 0.575006 * tfactors.T9 + -0.0714547 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * -1.04067 * tfactors.T923i + 0.575006 + (5.0/3.0) * -0.0714547 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53129,7 +60604,7 @@ void rate_n_Ge64_to_p_Ga64_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_Ge64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_Ge64_to_He4_Zn61_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Ge64 + n --> He4 + Zn61 @@ -53144,9 +60619,13 @@ void rate_n_Ge64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 11.3061 + 7.47259 * tfactors.T913 + -1.92043 * tfactors.T9 + 0.239118 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + (1.0/3.0) * 7.47259 * tfactors.T923i + -1.92043 + (5.0/3.0) * 0.239118 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53161,7 +60640,7 @@ void rate_n_Ge64_to_He4_Zn61_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_d_to_n_p_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_d_to_n_p_p_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + p --> n + p + p @@ -53176,9 +60655,13 @@ void rate_p_d_to_n_p_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = 17.3271 + -25.82 * tfactors.T9i + -3.72 * tfactors.T913i + 0.946313 * tfactors.T913 + 0.105406 * tfactors.T9 + -0.0149431 * tfactors.T953; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 25.82 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.72 * tfactors.T943i + (1.0/3.0) * 0.946313 * tfactors.T923i + 0.105406 + (5.0/3.0) * -0.0149431 * tfactors.T923; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53193,7 +60676,7 @@ void rate_p_d_to_n_p_p_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // He3 + He3 --> p + p + He4 @@ -53208,9 +60691,13 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 24.7788 + -12.277 * tfactors.T913i + -0.103699 * tfactors.T913 + -0.0649967 * tfactors.T9 + 0.0168191 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.277 * tfactors.T943i + (1.0/3.0) * -0.103699 * tfactors.T923i + -0.0649967 + (5.0/3.0) * 0.0168191 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53225,7 +60712,7 @@ void rate_He3_He3_to_p_p_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Li7_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Li7_to_n_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + d --> n + He4 + He4 @@ -53240,9 +60727,13 @@ void rate_d_Li7_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 26.4 + -10.259 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.259 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53257,7 +60748,7 @@ void rate_d_Li7_to_n_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + d --> p + He4 + He4 @@ -53272,9 +60763,13 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 27.6987 + -12.428 * tfactors.T913i + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.428 * tfactors.T943i + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53289,7 +60784,7 @@ void rate_d_Be7_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 + p --> d + He4 + He4 @@ -53304,9 +60799,13 @@ void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.5607 + -5.8 * tfactors.T9i + -0.75 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.8 * tfactors.T9i * tfactors.T9i + -0.75 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53321,9 +60820,13 @@ void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 20.1768 + -3.046 * tfactors.T9i + -1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.046 * tfactors.T9i * tfactors.T9i + -1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53338,9 +60841,13 @@ void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 26.0751 + -10.359 * tfactors.T913i + 0.103955 * tfactors.T913 + 4.4262 * tfactors.T9 + -5.95664 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -10.359 * tfactors.T943i + (1.0/3.0) * 0.103955 * tfactors.T923i + 4.4262 + (5.0/3.0) * -5.95664 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53355,7 +60862,7 @@ void rate_p_Be9_to_d_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_B8_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_B8_to_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B8 + n --> p + He4 + He4 @@ -53370,9 +60877,13 @@ void rate_n_B8_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = 19.812 + -1.13869e-12 * tfactors.T9i + 1.5368e-10 * tfactors.T913i + -5.36043e-10 * tfactors.T913 + 5.80628e-11 * tfactors.T9 + -5.23778e-12 * tfactors.T953 + 1.77211e-10 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.13869e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.5368e-10 * tfactors.T943i + (1.0/3.0) * -5.36043e-10 * tfactors.T923i + 5.80628e-11 + (5.0/3.0) * -5.23778e-12 * tfactors.T923 + 1.77211e-10 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53387,7 +60898,7 @@ void rate_n_B8_to_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // B11 + p --> 3 He4 @@ -53402,9 +60913,13 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -14.9395 + -1.724 * tfactors.T9i + 8.49175 * tfactors.T913i + 27.3254 * tfactors.T913 + -3.72071 * tfactors.T9 + 0.275516 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.724 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.49175 * tfactors.T943i + (1.0/3.0) * 27.3254 * tfactors.T923i + -3.72071 + (5.0/3.0) * 0.275516 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53419,9 +60934,13 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 28.6442 + -12.097 * tfactors.T913i + -0.0496312 * tfactors.T913 + 0.687736 * tfactors.T9 + -0.564229 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -12.097 * tfactors.T943i + (1.0/3.0) * -0.0496312 * tfactors.T923i + 0.687736 + (5.0/3.0) * -0.564229 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53436,7 +60955,7 @@ void rate_p_B11_to_He4_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_Li7_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_Li7_to_n_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Li7 + He3 --> n + p + He4 + He4 @@ -53451,9 +60970,13 @@ void rate_He3_Li7_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 30.038 + -4.24733e-12 * tfactors.T9i + -17.989 * tfactors.T913i + -1.57523e-09 * tfactors.T913 + 1.45934e-10 * tfactors.T9 + -1.15341e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.24733e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -17.989 * tfactors.T943i + (1.0/3.0) * -1.57523e-09 * tfactors.T923i + 1.45934e-10 + (5.0/3.0) * -1.15341e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53468,7 +60991,7 @@ void rate_He3_Li7_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be7 + He3 --> p + p + He4 + He4 @@ -53483,9 +61006,13 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = 31.7435 + -5.45213e-12 * tfactors.T9i + -21.793 * tfactors.T913i + -1.98126e-09 * tfactors.T913 + 1.84204e-10 * tfactors.T9 + -1.46403e-11 * tfactors.T953 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 5.45213e-12 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.793 * tfactors.T943i + (1.0/3.0) * -1.98126e-09 * tfactors.T923i + 1.84204e-10 + (5.0/3.0) * -1.46403e-11 * tfactors.T923 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53500,7 +61027,7 @@ void rate_He3_Be7_to_p_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_Be9_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_Be9_to_n_p_He4_He4_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // Be9 + p --> n + p + He4 + He4 @@ -53515,9 +61042,13 @@ void rate_p_Be9_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 20.7431 + -26.725 * tfactors.T9i + 1.40505e-06 * tfactors.T913i + -1.47128e-06 * tfactors.T913 + 6.89313e-08 * tfactors.T9 + -3.55179e-09 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 26.725 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.40505e-06 * tfactors.T943i + (1.0/3.0) * -1.47128e-06 * tfactors.T923i + 6.89313e-08 + (5.0/3.0) * -3.55179e-09 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53532,9 +61063,13 @@ void rate_p_Be9_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 14.6035 + -21.4742 * tfactors.T9i + -0.634849 * tfactors.T913i + 4.82033 * tfactors.T913 + -0.257317 * tfactors.T9 + 0.0134206 * tfactors.T953 + -1.08885 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 21.4742 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.634849 * tfactors.T943i + (1.0/3.0) * 4.82033 * tfactors.T923i + -0.257317 + (5.0/3.0) * 0.0134206 * tfactors.T923 + -1.08885 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53549,7 +61084,7 @@ void rate_p_Be9_to_n_p_He4_He4_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_p_He4_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_p_He4_to_Li6_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + p + He4 --> Li6 @@ -53564,9 +61099,13 @@ void rate_n_p_He4_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: ln_set_rate = -12.2851 + -19.353 * tfactors.T9i + 1.44987 * tfactors.T913i + -1.42759 * tfactors.T913 + 0.0454035 * tfactors.T9 + 0.00471161 * tfactors.T953 + -1.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 19.353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.44987 * tfactors.T943i + (1.0/3.0) * -1.42759 * tfactors.T923i + 0.0454035 + (5.0/3.0) * 0.00471161 * tfactors.T923 + -1.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53581,7 +61120,7 @@ void rate_n_p_He4_to_Li6_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex: template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_He4_He4_to_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_He4_He4_to_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + He4 + He4 --> Be9 @@ -53596,9 +61135,13 @@ void rate_n_He4_He4_to_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -6.81178 + -1.01953 * tfactors.T9i + -1.56673 * tfactors.T913i + -5.43497 * tfactors.T913 + 0.673807 * tfactors.T9 + -0.041014 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.01953 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -1.56673 * tfactors.T943i + (1.0/3.0) * -5.43497 * tfactors.T923i + 0.673807 + (5.0/3.0) * -0.041014 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53613,9 +61156,13 @@ void rate_n_He4_He4_to_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre ln_set_rate = -8.22898 + -13.3317 * tfactors.T913i + 13.2237 * tfactors.T913 + -9.06339 * tfactors.T9 + -0.666667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -13.3317 * tfactors.T943i + (1.0/3.0) * 13.2237 * tfactors.T923i + -9.06339 + -0.666667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53630,7 +61177,7 @@ void rate_n_He4_He4_to_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amre template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> C12 @@ -53645,9 +61192,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53662,9 +61213,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53679,9 +61234,13 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53696,7 +61255,7 @@ void rate_He4_He4_He4_to_C12_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_p_p_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_p_p_to_p_d_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + p + p --> p + d @@ -53711,9 +61270,13 @@ void rate_n_p_p_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R ln_set_rate = -4.24034 + -3.72 * tfactors.T913i + 0.946313 * tfactors.T913 + 0.105406 * tfactors.T9 + -0.0149431 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = + -(1.0/3.0) * -3.72 * tfactors.T943i + (1.0/3.0) * 0.946313 * tfactors.T923i + 0.105406 + (5.0/3.0) * -0.0149431 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53728,7 +61291,7 @@ void rate_n_p_p_to_p_d_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::R template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_He4_to_He3_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_He4_to_He3_He3_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p + He4 --> He3 + He3 @@ -53743,9 +61306,13 @@ void rate_p_p_He4_to_He3_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 2.98257 + -149.222 * tfactors.T9i + -12.277 * tfactors.T913i + -0.103699 * tfactors.T913 + -0.0649967 * tfactors.T9 + 0.0168191 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 149.222 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.277 * tfactors.T943i + (1.0/3.0) * -0.103699 * tfactors.T923i + -0.0649967 + (5.0/3.0) * 0.0168191 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53760,7 +61327,7 @@ void rate_p_p_He4_to_He3_He3_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_He4_He4_to_d_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_He4_He4_to_d_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + He4 + He4 --> d + Li7 @@ -53775,9 +61342,13 @@ void rate_n_He4_He4_to_d_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 5.67199 + -175.472 * tfactors.T9i + -10.259 * tfactors.T913i + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 175.472 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.259 * tfactors.T943i + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53792,7 +61363,7 @@ void rate_n_He4_He4_to_d_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He4_He4_to_n_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He4_He4_to_n_B8_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + He4 + He4 --> n + B8 @@ -53807,9 +61378,13 @@ void rate_p_He4_He4_to_n_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amr ln_set_rate = -1.93853 + -218.783 * tfactors.T9i + 1.5368e-10 * tfactors.T913i + -5.36043e-10 * tfactors.T913 + 5.80628e-11 * tfactors.T9 + -5.23778e-12 * tfactors.T953 + -1.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 218.783 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.5368e-10 * tfactors.T943i + (1.0/3.0) * -5.36043e-10 * tfactors.T923i + 5.80628e-11 + (5.0/3.0) * -5.23778e-12 * tfactors.T923 + -1.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53824,7 +61399,7 @@ void rate_p_He4_He4_to_n_B8_reaclib(const tf_t& tfactors, amrex::Real& rate, amr template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_He4_He4_to_d_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_He4_He4_to_d_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + He4 + He4 --> d + Be7 @@ -53839,9 +61414,13 @@ void rate_p_He4_He4_to_d_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 6.97069 + -194.561 * tfactors.T9i + -12.428 * tfactors.T913i + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 194.561 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.428 * tfactors.T943i + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53856,7 +61435,7 @@ void rate_p_He4_He4_to_d_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // d + He4 + He4 --> p + Be9 @@ -53871,9 +61450,13 @@ void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = 2.83369 + -7.55453 * tfactors.T9i + -10.359 * tfactors.T913i + 0.103955 * tfactors.T913 + 4.4262 * tfactors.T9 + -5.95664 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 7.55453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -10.359 * tfactors.T943i + (1.0/3.0) * 0.103955 * tfactors.T923i + 4.4262 + (5.0/3.0) * -5.95664 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53888,9 +61471,13 @@ void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -2.68071 + -13.3545 * tfactors.T9i + -2.25 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 13.3545 * tfactors.T9i * tfactors.T9i + -2.25 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53905,9 +61492,13 @@ void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, am ln_set_rate = -3.06461 + -10.6005 * tfactors.T9i + -2.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 10.6005 * tfactors.T9i * tfactors.T9i + -2.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53922,7 +61513,7 @@ void rate_d_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, am template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_He4_He4_He4_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_He4_He4_He4_to_p_B11_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // 3 He4 --> p + B11 @@ -53937,9 +61528,13 @@ void rate_He4_He4_He4_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = 6.8613 + -100.75 * tfactors.T9i + -12.097 * tfactors.T913i + -0.0496312 * tfactors.T913 + 0.687736 * tfactors.T9 + -0.564229 * tfactors.T953 + -2.16667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 100.75 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -12.097 * tfactors.T943i + (1.0/3.0) * -0.0496312 * tfactors.T923i + 0.687736 + (5.0/3.0) * -0.564229 * tfactors.T923 + -2.16667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53954,9 +61549,13 @@ void rate_He4_He4_He4_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -36.7224 + -102.474 * tfactors.T9i + 8.49175 * tfactors.T913i + 27.3254 * tfactors.T913 + -3.72071 * tfactors.T9 + 0.275516 * tfactors.T953 + -3.0 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 102.474 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.49175 * tfactors.T943i + (1.0/3.0) * 27.3254 * tfactors.T923i + -3.72071 + (5.0/3.0) * 0.275516 * tfactors.T923 + -3.0 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -53971,7 +61570,7 @@ void rate_He4_He4_He4_to_p_B11_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_p_He4_He4_to_He3_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_p_He4_He4_to_He3_Li7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + p + He4 + He4 --> He3 + Li7 @@ -53986,9 +61585,13 @@ void rate_n_p_He4_He4_to_He3_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = -14.8862 + -111.725 * tfactors.T9i + -17.989 * tfactors.T913i + -1.57523e-09 * tfactors.T913 + 1.45934e-10 * tfactors.T9 + -1.15341e-11 * tfactors.T953 + -3.66667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 111.725 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -17.989 * tfactors.T943i + (1.0/3.0) * -1.57523e-09 * tfactors.T923i + 1.45934e-10 + (5.0/3.0) * -1.15341e-11 * tfactors.T923 + -3.66667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -54003,7 +61606,7 @@ void rate_n_p_He4_He4_to_He3_Li7_reaclib(const tf_t& tfactors, amrex::Real& rate template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_n_p_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_n_p_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // n + p + He4 + He4 --> p + Be9 @@ -54018,9 +61621,13 @@ void rate_n_p_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -25.452 + -8.47112 * tfactors.T9i + 1.40505e-06 * tfactors.T913i + -1.47128e-06 * tfactors.T913 + 6.89313e-08 * tfactors.T9 + -3.55179e-09 * tfactors.T953 + -4.5 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 8.47112 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.40505e-06 * tfactors.T943i + (1.0/3.0) * -1.47128e-06 * tfactors.T923i + 6.89313e-08 + (5.0/3.0) * -3.55179e-09 * tfactors.T923 + -4.5 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -54035,9 +61642,13 @@ void rate_n_p_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, ln_set_rate = -31.5916 + -3.22032 * tfactors.T9i + -0.634849 * tfactors.T913i + 4.82033 * tfactors.T913 + -0.257317 * tfactors.T9 + 0.0134206 * tfactors.T953 + -4.08885 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 3.22032 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -0.634849 * tfactors.T943i + (1.0/3.0) * 4.82033 * tfactors.T923i + -0.257317 + (5.0/3.0) * 0.0134206 * tfactors.T923 + -4.08885 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -54052,7 +61663,7 @@ void rate_n_p_He4_He4_to_p_Be9_reaclib(const tf_t& tfactors, amrex::Real& rate, template AMREX_GPU_HOST_DEVICE AMREX_INLINE -void rate_p_p_He4_He4_to_He3_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { +void rate_p_p_He4_He4_to_He3_Be7_reaclib(const tf_t& tfactors, const amrex::Real log_scor, const amrex::Real dlog_scor_dT, amrex::Real& rate, amrex::Real& drate_dT) { // p + p + He4 + He4 --> He3 + Be7 @@ -54067,9 +61678,13 @@ void rate_p_p_He4_He4_to_He3_Be7_reaclib(const tf_t& tfactors, amrex::Real& rate ln_set_rate = -13.1807 + -130.807 * tfactors.T9i + -21.793 * tfactors.T913i + -1.98126e-09 * tfactors.T913 + 1.84204e-10 * tfactors.T9 + -1.46403e-11 * tfactors.T953 + -3.66667 * tfactors.lnT9; + ln_set_rate += log_scor; + if constexpr (do_T_derivatives) { dln_set_rate_dT9 = 130.807 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.793 * tfactors.T943i + (1.0/3.0) * -1.98126e-09 * tfactors.T923i + 1.84204e-10 + (5.0/3.0) * -1.46403e-11 * tfactors.T923 + -3.66667 * tfactors.T9i; + + dln_set_rate_dT9 += dlog_scor_dT * 1.0e9_rt; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -54093,8754 +61708,18990 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) amrex::Real rate; amrex::Real drate_dT; - rate_Be7_to_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Be7_to_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Be7_to_Li7_reaclib) = drate_dT; - - } - rate_C14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C14_to_N14_reaclib) = drate_dT; - - } - rate_N13_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; - - } - rate_O14_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; - - } - rate_O15_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; - - } - rate_F17_to_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F17_to_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_O17_reaclib) = drate_dT; - - } - rate_F18_to_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F18_to_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_O18_reaclib) = drate_dT; - - } - rate_Ne18_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne18_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_F18_reaclib) = drate_dT; - - } - rate_Ne19_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne19_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_F19_reaclib) = drate_dT; - - } - rate_Zn59_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn59_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn59_to_Cu59_reaclib) = drate_dT; - - } - rate_Ge63_to_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge63_to_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge63_to_Ga63_reaclib) = drate_dT; - - } - rate_d_to_n_p_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_to_n_p_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_to_n_p_reaclib) = drate_dT; - - } - rate_He3_to_p_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_to_p_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_to_p_d_reaclib) = drate_dT; - - } - rate_He4_to_n_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_to_n_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_to_n_He3_reaclib) = drate_dT; - - } - rate_He4_to_d_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_to_d_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_to_d_d_reaclib) = drate_dT; - - } - rate_Li6_to_He4_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Li6_to_He4_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Li6_to_He4_d_reaclib) = drate_dT; - - } - rate_Li7_to_n_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Li7_to_n_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Li7_to_n_Li6_reaclib) = drate_dT; - - } - rate_Be7_to_p_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Be7_to_p_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Be7_to_p_Li6_reaclib) = drate_dT; - - } - rate_Be7_to_He4_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Be7_to_He4_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Be7_to_He4_He3_reaclib) = drate_dT; - - } - rate_B8_to_p_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B8_to_p_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B8_to_p_Be7_reaclib) = drate_dT; - - } - rate_B8_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; - - } - rate_B10_to_p_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B10_to_p_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B10_to_p_Be9_reaclib) = drate_dT; - - } - rate_B10_to_He4_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B10_to_He4_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B10_to_He4_Li6_reaclib) = drate_dT; - - } - rate_B11_to_n_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B11_to_n_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B11_to_n_B10_reaclib) = drate_dT; - - } - rate_B11_to_He4_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_B11_to_He4_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_B11_to_He4_Li7_reaclib) = drate_dT; - - } - rate_C12_to_p_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_to_p_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_p_B11_reaclib) = drate_dT; - - } - rate_C13_to_n_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C13_to_n_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C13_to_n_C12_reaclib) = drate_dT; - - } - rate_C14_to_n_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C14_to_n_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C14_to_n_C13_reaclib) = drate_dT; - - } - rate_N13_to_p_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N13_to_p_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N13_to_p_C12_reaclib) = drate_dT; - - } - rate_N14_to_n_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N14_to_n_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N14_to_n_N13_reaclib) = drate_dT; - - } - rate_N14_to_p_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N14_to_p_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N14_to_p_C13_reaclib) = drate_dT; - - } - rate_N15_to_n_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N15_to_n_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N15_to_n_N14_reaclib) = drate_dT; - - } - rate_N15_to_p_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_N15_to_p_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_N15_to_p_C14_reaclib) = drate_dT; - - } - rate_O14_to_p_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O14_to_p_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O14_to_p_N13_reaclib) = drate_dT; - - } - rate_O15_to_n_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_n_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_n_O14_reaclib) = drate_dT; - - } - rate_O15_to_p_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O15_to_p_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O15_to_p_N14_reaclib) = drate_dT; - - } - rate_O16_to_n_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_to_n_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_n_O15_reaclib) = drate_dT; - - } - rate_O16_to_p_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_to_p_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_p_N15_reaclib) = drate_dT; - - } - rate_O16_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_reaclib) = drate_dT; - - } - rate_O17_to_n_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O17_to_n_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O17_to_n_O16_reaclib) = drate_dT; - - } - rate_O18_to_n_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O18_to_n_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O18_to_n_O17_reaclib) = drate_dT; - - } - rate_O18_to_He4_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O18_to_He4_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O18_to_He4_C14_reaclib) = drate_dT; - - } - rate_F17_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F17_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F17_to_p_O16_reaclib) = drate_dT; - - } - rate_F18_to_n_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F18_to_n_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_n_F17_reaclib) = drate_dT; - - } - rate_F18_to_p_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F18_to_p_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_p_O17_reaclib) = drate_dT; - - } - rate_F18_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F18_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_reaclib) = drate_dT; - - } - rate_F19_to_n_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F19_to_n_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_n_F18_reaclib) = drate_dT; - - } - rate_F19_to_p_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F19_to_p_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_p_O18_reaclib) = drate_dT; - - } - rate_F19_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_F19_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_reaclib) = drate_dT; - - } - rate_Ne18_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne18_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_reaclib) = drate_dT; - - } - rate_Ne18_to_He4_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne18_to_He4_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_reaclib) = drate_dT; - - } - rate_Ne19_to_n_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne19_to_n_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_n_Ne18_reaclib) = drate_dT; - - } - rate_Ne19_to_p_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne19_to_p_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_reaclib) = drate_dT; - - } - rate_Ne19_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne19_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_reaclib) = drate_dT; - - } - rate_Ne20_to_n_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne20_to_n_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_n_Ne19_reaclib) = drate_dT; - - } - rate_Ne20_to_p_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne20_to_p_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_reaclib) = drate_dT; - - } - rate_Ne20_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne20_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_reaclib) = drate_dT; - - } - rate_Ne21_to_n_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne21_to_n_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne21_to_n_Ne20_reaclib) = drate_dT; - - } - rate_Ne21_to_He4_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne21_to_He4_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_reaclib) = drate_dT; - - } - rate_Ne22_to_n_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne22_to_n_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne22_to_n_Ne21_reaclib) = drate_dT; - - } - rate_Ne22_to_He4_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ne22_to_He4_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ne22_to_He4_O18_reaclib) = drate_dT; - - } - rate_Na21_to_p_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na21_to_p_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na21_to_p_Ne20_reaclib) = drate_dT; - - } - rate_Na21_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na21_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na21_to_He4_F17_reaclib) = drate_dT; - - } - rate_Na22_to_n_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na22_to_n_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_n_Na21_reaclib) = drate_dT; - - } - rate_Na22_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na22_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_reaclib) = drate_dT; - - } - rate_Na22_to_He4_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na22_to_He4_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_reaclib) = drate_dT; - - } - rate_Na23_to_n_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na23_to_n_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_n_Na22_reaclib) = drate_dT; - - } - rate_Na23_to_p_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na23_to_p_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_p_Ne22_reaclib) = drate_dT; - - } - rate_Na23_to_He4_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Na23_to_He4_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_reaclib) = drate_dT; - - } - rate_Mg23_to_p_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg23_to_p_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg23_to_p_Na22_reaclib) = drate_dT; - - } - rate_Mg23_to_He4_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg23_to_He4_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg23_to_He4_Ne19_reaclib) = drate_dT; - - } - rate_Mg24_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg24_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_n_Mg23_reaclib) = drate_dT; - - } - rate_Mg24_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg24_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_reaclib) = drate_dT; - - } - rate_Mg24_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg24_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_Mg25_to_n_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg25_to_n_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg25_to_n_Mg24_reaclib) = drate_dT; - - } - rate_Mg25_to_He4_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg25_to_He4_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg25_to_He4_Ne21_reaclib) = drate_dT; - - } - rate_Mg26_to_n_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg26_to_n_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg26_to_n_Mg25_reaclib) = drate_dT; - - } - rate_Mg26_to_He4_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mg26_to_He4_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mg26_to_He4_Ne22_reaclib) = drate_dT; - - } - rate_Al25_to_p_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al25_to_p_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al25_to_p_Mg24_reaclib) = drate_dT; - - } - rate_Al25_to_He4_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al25_to_He4_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al25_to_He4_Na21_reaclib) = drate_dT; - - } - rate_Al26_to_n_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al26_to_n_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al26_to_n_Al25_reaclib) = drate_dT; - - } - rate_Al26_to_p_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al26_to_p_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al26_to_p_Mg25_reaclib) = drate_dT; - - } - rate_Al26_to_He4_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al26_to_He4_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al26_to_He4_Na22_reaclib) = drate_dT; - - } - rate_Al27_to_n_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al27_to_n_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al27_to_n_Al26_reaclib) = drate_dT; - - } - rate_Al27_to_p_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al27_to_p_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al27_to_p_Mg26_reaclib) = drate_dT; - - } - rate_Al27_to_He4_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Al27_to_He4_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Al27_to_He4_Na23_reaclib) = drate_dT; - - } - rate_Si28_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si28_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_reaclib) = drate_dT; - - } - rate_Si28_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si28_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_Si29_to_n_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si29_to_n_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si29_to_n_Si28_reaclib) = drate_dT; - - } - rate_Si29_to_He4_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si29_to_He4_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si29_to_He4_Mg25_reaclib) = drate_dT; - - } - rate_Si30_to_n_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si30_to_n_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si30_to_n_Si29_reaclib) = drate_dT; - - } - rate_Si30_to_He4_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si30_to_He4_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si30_to_He4_Mg26_reaclib) = drate_dT; - - } - rate_Si31_to_n_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si31_to_n_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si31_to_n_Si30_reaclib) = drate_dT; - - } - rate_Si32_to_n_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Si32_to_n_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Si32_to_n_Si31_reaclib) = drate_dT; - - } - rate_P29_to_p_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P29_to_p_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P29_to_p_Si28_reaclib) = drate_dT; - - } - rate_P29_to_He4_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P29_to_He4_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P29_to_He4_Al25_reaclib) = drate_dT; - - } - rate_P30_to_n_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P30_to_n_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P30_to_n_P29_reaclib) = drate_dT; - - } - rate_P30_to_p_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P30_to_p_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P30_to_p_Si29_reaclib) = drate_dT; - - } - rate_P30_to_He4_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P30_to_He4_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P30_to_He4_Al26_reaclib) = drate_dT; - - } - rate_P31_to_n_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P31_to_n_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P31_to_n_P30_reaclib) = drate_dT; - - } - rate_P31_to_p_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P31_to_p_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P31_to_p_Si30_reaclib) = drate_dT; - - } - rate_P31_to_He4_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P31_to_He4_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P31_to_He4_Al27_reaclib) = drate_dT; - - } - rate_P32_to_n_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P32_to_n_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P32_to_n_P31_reaclib) = drate_dT; - - } - rate_P32_to_p_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P32_to_p_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P32_to_p_Si31_reaclib) = drate_dT; - - } - rate_P33_to_n_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P33_to_n_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P33_to_n_P32_reaclib) = drate_dT; - - } - rate_P33_to_p_Si32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_P33_to_p_Si32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_P33_to_p_Si32_reaclib) = drate_dT; - - } - rate_S32_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S32_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_p_P31_reaclib) = drate_dT; - - } - rate_S32_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S32_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_reaclib) = drate_dT; - - } - rate_S33_to_n_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S33_to_n_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S33_to_n_S32_reaclib) = drate_dT; - - } - rate_S33_to_p_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S33_to_p_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S33_to_p_P32_reaclib) = drate_dT; - - } - rate_S33_to_He4_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S33_to_He4_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S33_to_He4_Si29_reaclib) = drate_dT; - - } - rate_S34_to_n_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S34_to_n_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S34_to_n_S33_reaclib) = drate_dT; - - } - rate_S34_to_p_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S34_to_p_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S34_to_p_P33_reaclib) = drate_dT; - - } - rate_S34_to_He4_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S34_to_He4_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S34_to_He4_Si30_reaclib) = drate_dT; - - } - rate_S35_to_n_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S35_to_n_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S35_to_n_S34_reaclib) = drate_dT; - - } - rate_S35_to_He4_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S35_to_He4_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S35_to_He4_Si31_reaclib) = drate_dT; - - } - rate_S36_to_n_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S36_to_n_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S36_to_n_S35_reaclib) = drate_dT; - - } - rate_S36_to_He4_Si32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_S36_to_He4_Si32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_S36_to_He4_Si32_reaclib) = drate_dT; - - } - rate_Cl33_to_p_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl33_to_p_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl33_to_p_S32_reaclib) = drate_dT; - - } - rate_Cl33_to_He4_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl33_to_He4_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl33_to_He4_P29_reaclib) = drate_dT; - - } - rate_Cl34_to_n_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl34_to_n_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl34_to_n_Cl33_reaclib) = drate_dT; - - } - rate_Cl34_to_p_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl34_to_p_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl34_to_p_S33_reaclib) = drate_dT; - - } - rate_Cl34_to_He4_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl34_to_He4_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl34_to_He4_P30_reaclib) = drate_dT; - - } - rate_Cl35_to_n_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl35_to_n_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl35_to_n_Cl34_reaclib) = drate_dT; - - } - rate_Cl35_to_p_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl35_to_p_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl35_to_p_S34_reaclib) = drate_dT; - - } - rate_Cl35_to_He4_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl35_to_He4_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl35_to_He4_P31_reaclib) = drate_dT; - - } - rate_Cl36_to_n_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl36_to_n_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl36_to_n_Cl35_reaclib) = drate_dT; - - } - rate_Cl36_to_p_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl36_to_p_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl36_to_p_S35_reaclib) = drate_dT; - - } - rate_Cl36_to_He4_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl36_to_He4_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl36_to_He4_P32_reaclib) = drate_dT; - - } - rate_Cl37_to_n_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl37_to_n_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl37_to_n_Cl36_reaclib) = drate_dT; - - } - rate_Cl37_to_p_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl37_to_p_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl37_to_p_S36_reaclib) = drate_dT; - - } - rate_Cl37_to_He4_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cl37_to_He4_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cl37_to_He4_P33_reaclib) = drate_dT; - - } - rate_Ar36_to_p_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar36_to_p_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_reaclib) = drate_dT; - - } - rate_Ar36_to_He4_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar36_to_He4_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_reaclib) = drate_dT; - - } - rate_Ar37_to_n_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar37_to_n_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar37_to_n_Ar36_reaclib) = drate_dT; - - } - rate_Ar37_to_p_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar37_to_p_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar37_to_p_Cl36_reaclib) = drate_dT; - - } - rate_Ar37_to_He4_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar37_to_He4_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar37_to_He4_S33_reaclib) = drate_dT; - - } - rate_Ar38_to_n_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar38_to_n_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar38_to_n_Ar37_reaclib) = drate_dT; - - } - rate_Ar38_to_p_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar38_to_p_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar38_to_p_Cl37_reaclib) = drate_dT; - - } - rate_Ar38_to_He4_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar38_to_He4_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar38_to_He4_S34_reaclib) = drate_dT; - - } - rate_Ar39_to_n_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar39_to_n_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar39_to_n_Ar38_reaclib) = drate_dT; - - } - rate_Ar39_to_He4_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar39_to_He4_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar39_to_He4_S35_reaclib) = drate_dT; - - } - rate_Ar40_to_n_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar40_to_n_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar40_to_n_Ar39_reaclib) = drate_dT; - - } - rate_Ar40_to_He4_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ar40_to_He4_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ar40_to_He4_S36_reaclib) = drate_dT; - - } - rate_K37_to_p_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K37_to_p_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K37_to_p_Ar36_reaclib) = drate_dT; - - } - rate_K37_to_He4_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K37_to_He4_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K37_to_He4_Cl33_reaclib) = drate_dT; - - } - rate_K38_to_n_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K38_to_n_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K38_to_n_K37_reaclib) = drate_dT; - - } - rate_K38_to_p_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K38_to_p_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K38_to_p_Ar37_reaclib) = drate_dT; - - } - rate_K38_to_He4_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K38_to_He4_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K38_to_He4_Cl34_reaclib) = drate_dT; - - } - rate_K39_to_n_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K39_to_n_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K39_to_n_K38_reaclib) = drate_dT; - - } - rate_K39_to_p_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K39_to_p_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K39_to_p_Ar38_reaclib) = drate_dT; - - } - rate_K39_to_He4_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K39_to_He4_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K39_to_He4_Cl35_reaclib) = drate_dT; - - } - rate_K40_to_n_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K40_to_n_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K40_to_n_K39_reaclib) = drate_dT; - - } - rate_K40_to_p_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K40_to_p_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K40_to_p_Ar39_reaclib) = drate_dT; - - } - rate_K40_to_He4_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K40_to_He4_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K40_to_He4_Cl36_reaclib) = drate_dT; - - } - rate_K41_to_n_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K41_to_n_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K41_to_n_K40_reaclib) = drate_dT; - - } - rate_K41_to_p_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K41_to_p_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K41_to_p_Ar40_reaclib) = drate_dT; - - } - rate_K41_to_He4_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_K41_to_He4_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_K41_to_He4_Cl37_reaclib) = drate_dT; - - } - rate_Ca40_to_p_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca40_to_p_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_reaclib) = drate_dT; - - } - rate_Ca40_to_He4_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca40_to_He4_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_reaclib) = drate_dT; - - } - rate_Ca41_to_n_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca41_to_n_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca41_to_n_Ca40_reaclib) = drate_dT; - - } - rate_Ca41_to_p_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca41_to_p_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca41_to_p_K40_reaclib) = drate_dT; - - } - rate_Ca41_to_He4_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca41_to_He4_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca41_to_He4_Ar37_reaclib) = drate_dT; - - } - rate_Ca42_to_n_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca42_to_n_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca42_to_n_Ca41_reaclib) = drate_dT; - - } - rate_Ca42_to_p_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca42_to_p_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca42_to_p_K41_reaclib) = drate_dT; - - } - rate_Ca42_to_He4_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca42_to_He4_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca42_to_He4_Ar38_reaclib) = drate_dT; - - } - rate_Ca43_to_n_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca43_to_n_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca43_to_n_Ca42_reaclib) = drate_dT; - - } - rate_Ca43_to_He4_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca43_to_He4_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca43_to_He4_Ar39_reaclib) = drate_dT; - - } - rate_Ca44_to_n_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca44_to_n_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca44_to_n_Ca43_reaclib) = drate_dT; - - } - rate_Ca44_to_He4_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca44_to_He4_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca44_to_He4_Ar40_reaclib) = drate_dT; - - } - rate_Ca45_to_n_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca45_to_n_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca45_to_n_Ca44_reaclib) = drate_dT; - - } - rate_Ca46_to_n_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca46_to_n_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca46_to_n_Ca45_reaclib) = drate_dT; - - } - rate_Ca47_to_n_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca47_to_n_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca47_to_n_Ca46_reaclib) = drate_dT; - - } - rate_Ca48_to_n_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ca48_to_n_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ca48_to_n_Ca47_reaclib) = drate_dT; - - } - rate_Sc43_to_p_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc43_to_p_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc43_to_p_Ca42_reaclib) = drate_dT; - - } - rate_Sc43_to_He4_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc43_to_He4_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc43_to_He4_K39_reaclib) = drate_dT; - - } - rate_Sc44_to_n_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc44_to_n_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc44_to_n_Sc43_reaclib) = drate_dT; - - } - rate_Sc44_to_p_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc44_to_p_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc44_to_p_Ca43_reaclib) = drate_dT; - - } - rate_Sc44_to_He4_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc44_to_He4_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc44_to_He4_K40_reaclib) = drate_dT; - - } - rate_Sc45_to_n_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc45_to_n_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc45_to_n_Sc44_reaclib) = drate_dT; - - } - rate_Sc45_to_p_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc45_to_p_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc45_to_p_Ca44_reaclib) = drate_dT; - - } - rate_Sc45_to_He4_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc45_to_He4_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc45_to_He4_K41_reaclib) = drate_dT; - - } - rate_Sc46_to_n_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc46_to_n_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc46_to_n_Sc45_reaclib) = drate_dT; - - } - rate_Sc46_to_p_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc46_to_p_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc46_to_p_Ca45_reaclib) = drate_dT; - - } - rate_Sc47_to_n_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc47_to_n_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc47_to_n_Sc46_reaclib) = drate_dT; - - } - rate_Sc47_to_p_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc47_to_p_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc47_to_p_Ca46_reaclib) = drate_dT; - - } - rate_Sc48_to_n_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc48_to_n_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc48_to_n_Sc47_reaclib) = drate_dT; - - } - rate_Sc48_to_p_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc48_to_p_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc48_to_p_Ca47_reaclib) = drate_dT; - - } - rate_Sc49_to_n_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc49_to_n_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc49_to_n_Sc48_reaclib) = drate_dT; - - } - rate_Sc49_to_p_Ca48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Sc49_to_p_Ca48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Sc49_to_p_Ca48_reaclib) = drate_dT; - - } - rate_Ti44_to_p_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti44_to_p_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_reaclib) = drate_dT; - - } - rate_Ti44_to_He4_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti44_to_He4_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_reaclib) = drate_dT; - - } - rate_Ti45_to_n_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti45_to_n_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti45_to_n_Ti44_reaclib) = drate_dT; - - } - rate_Ti45_to_p_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti45_to_p_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti45_to_p_Sc44_reaclib) = drate_dT; - - } - rate_Ti45_to_He4_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti45_to_He4_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti45_to_He4_Ca41_reaclib) = drate_dT; - - } - rate_Ti46_to_n_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti46_to_n_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti46_to_n_Ti45_reaclib) = drate_dT; - - } - rate_Ti46_to_p_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti46_to_p_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti46_to_p_Sc45_reaclib) = drate_dT; - - } - rate_Ti46_to_He4_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti46_to_He4_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti46_to_He4_Ca42_reaclib) = drate_dT; - - } - rate_Ti47_to_n_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti47_to_n_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti47_to_n_Ti46_reaclib) = drate_dT; - - } - rate_Ti47_to_p_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti47_to_p_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti47_to_p_Sc46_reaclib) = drate_dT; - - } - rate_Ti47_to_He4_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti47_to_He4_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti47_to_He4_Ca43_reaclib) = drate_dT; - - } - rate_Ti48_to_n_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti48_to_n_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti48_to_n_Ti47_reaclib) = drate_dT; - - } - rate_Ti48_to_p_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti48_to_p_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti48_to_p_Sc47_reaclib) = drate_dT; - - } - rate_Ti48_to_He4_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti48_to_He4_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti48_to_He4_Ca44_reaclib) = drate_dT; - - } - rate_Ti49_to_n_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti49_to_n_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti49_to_n_Ti48_reaclib) = drate_dT; - - } - rate_Ti49_to_p_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti49_to_p_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti49_to_p_Sc48_reaclib) = drate_dT; - - } - rate_Ti49_to_He4_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti49_to_He4_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti49_to_He4_Ca45_reaclib) = drate_dT; - - } - rate_Ti50_to_n_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti50_to_n_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti50_to_n_Ti49_reaclib) = drate_dT; - - } - rate_Ti50_to_p_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti50_to_p_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti50_to_p_Sc49_reaclib) = drate_dT; - - } - rate_Ti50_to_He4_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti50_to_He4_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti50_to_He4_Ca46_reaclib) = drate_dT; - - } - rate_Ti51_to_n_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti51_to_n_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti51_to_n_Ti50_reaclib) = drate_dT; - - } - rate_Ti51_to_He4_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ti51_to_He4_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ti51_to_He4_Ca47_reaclib) = drate_dT; - - } - rate_V46_to_p_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V46_to_p_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V46_to_p_Ti45_reaclib) = drate_dT; - - } - rate_V47_to_n_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V47_to_n_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V47_to_n_V46_reaclib) = drate_dT; - - } - rate_V47_to_p_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V47_to_p_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V47_to_p_Ti46_reaclib) = drate_dT; - - } - rate_V47_to_He4_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V47_to_He4_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V47_to_He4_Sc43_reaclib) = drate_dT; - - } - rate_V48_to_n_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V48_to_n_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V48_to_n_V47_reaclib) = drate_dT; - - } - rate_V48_to_p_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V48_to_p_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V48_to_p_Ti47_reaclib) = drate_dT; - - } - rate_V48_to_He4_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V48_to_He4_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V48_to_He4_Sc44_reaclib) = drate_dT; - - } - rate_V49_to_n_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V49_to_n_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V49_to_n_V48_reaclib) = drate_dT; - - } - rate_V49_to_p_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V49_to_p_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V49_to_p_Ti48_reaclib) = drate_dT; - - } - rate_V49_to_He4_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V49_to_He4_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V49_to_He4_Sc45_reaclib) = drate_dT; - - } - rate_V50_to_n_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V50_to_n_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V50_to_n_V49_reaclib) = drate_dT; - - } - rate_V50_to_p_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V50_to_p_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V50_to_p_Ti49_reaclib) = drate_dT; - - } - rate_V50_to_He4_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V50_to_He4_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V50_to_He4_Sc46_reaclib) = drate_dT; - - } - rate_V51_to_n_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V51_to_n_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V51_to_n_V50_reaclib) = drate_dT; - - } - rate_V51_to_p_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V51_to_p_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V51_to_p_Ti50_reaclib) = drate_dT; - - } - rate_V51_to_He4_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V51_to_He4_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V51_to_He4_Sc47_reaclib) = drate_dT; - - } - rate_V52_to_n_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V52_to_n_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V52_to_n_V51_reaclib) = drate_dT; - - } - rate_V52_to_p_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V52_to_p_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V52_to_p_Ti51_reaclib) = drate_dT; - - } - rate_V52_to_He4_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_V52_to_He4_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_V52_to_He4_Sc48_reaclib) = drate_dT; - - } - rate_Cr48_to_p_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr48_to_p_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_reaclib) = drate_dT; - - } - rate_Cr48_to_He4_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr48_to_He4_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_reaclib) = drate_dT; - - } - rate_Cr49_to_n_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr49_to_n_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr49_to_n_Cr48_reaclib) = drate_dT; - - } - rate_Cr49_to_p_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr49_to_p_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr49_to_p_V48_reaclib) = drate_dT; - - } - rate_Cr49_to_He4_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr49_to_He4_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr49_to_He4_Ti45_reaclib) = drate_dT; - - } - rate_Cr50_to_n_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr50_to_n_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr50_to_n_Cr49_reaclib) = drate_dT; - - } - rate_Cr50_to_p_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr50_to_p_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr50_to_p_V49_reaclib) = drate_dT; - - } - rate_Cr50_to_He4_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr50_to_He4_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr50_to_He4_Ti46_reaclib) = drate_dT; - - } - rate_Cr51_to_n_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr51_to_n_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr51_to_n_Cr50_reaclib) = drate_dT; - - } - rate_Cr51_to_p_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr51_to_p_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr51_to_p_V50_reaclib) = drate_dT; - - } - rate_Cr51_to_He4_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr51_to_He4_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr51_to_He4_Ti47_reaclib) = drate_dT; - - } - rate_Cr52_to_n_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr52_to_n_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr52_to_n_Cr51_reaclib) = drate_dT; - - } - rate_Cr52_to_p_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr52_to_p_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr52_to_p_V51_reaclib) = drate_dT; - - } - rate_Cr52_to_He4_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr52_to_He4_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr52_to_He4_Ti48_reaclib) = drate_dT; - - } - rate_Cr53_to_n_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr53_to_n_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr53_to_n_Cr52_reaclib) = drate_dT; - - } - rate_Cr53_to_p_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr53_to_p_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr53_to_p_V52_reaclib) = drate_dT; - - } - rate_Cr53_to_He4_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr53_to_He4_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr53_to_He4_Ti49_reaclib) = drate_dT; - - } - rate_Cr54_to_n_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr54_to_n_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr54_to_n_Cr53_reaclib) = drate_dT; - - } - rate_Cr54_to_He4_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cr54_to_He4_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cr54_to_He4_Ti50_reaclib) = drate_dT; - - } - rate_Mn50_to_p_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn50_to_p_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn50_to_p_Cr49_reaclib) = drate_dT; - - } - rate_Mn50_to_He4_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn50_to_He4_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn50_to_He4_V46_reaclib) = drate_dT; - - } - rate_Mn51_to_n_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn51_to_n_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn51_to_n_Mn50_reaclib) = drate_dT; - - } - rate_Mn51_to_p_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn51_to_p_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn51_to_p_Cr50_reaclib) = drate_dT; - - } - rate_Mn51_to_He4_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn51_to_He4_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn51_to_He4_V47_reaclib) = drate_dT; - - } - rate_Mn52_to_n_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn52_to_n_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn52_to_n_Mn51_reaclib) = drate_dT; - - } - rate_Mn52_to_p_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn52_to_p_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn52_to_p_Cr51_reaclib) = drate_dT; - - } - rate_Mn52_to_He4_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn52_to_He4_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn52_to_He4_V48_reaclib) = drate_dT; - - } - rate_Mn53_to_n_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn53_to_n_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn53_to_n_Mn52_reaclib) = drate_dT; - - } - rate_Mn53_to_p_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn53_to_p_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn53_to_p_Cr52_reaclib) = drate_dT; - - } - rate_Mn53_to_He4_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn53_to_He4_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn53_to_He4_V49_reaclib) = drate_dT; - - } - rate_Mn54_to_n_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn54_to_n_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn54_to_n_Mn53_reaclib) = drate_dT; - - } - rate_Mn54_to_p_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn54_to_p_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn54_to_p_Cr53_reaclib) = drate_dT; - - } - rate_Mn54_to_He4_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn54_to_He4_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn54_to_He4_V50_reaclib) = drate_dT; - - } - rate_Mn55_to_n_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn55_to_n_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn55_to_n_Mn54_reaclib) = drate_dT; - - } - rate_Mn55_to_p_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn55_to_p_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn55_to_p_Cr54_reaclib) = drate_dT; - - } - rate_Mn55_to_He4_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Mn55_to_He4_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Mn55_to_He4_V51_reaclib) = drate_dT; - - } - rate_Fe52_to_p_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe52_to_p_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_reaclib) = drate_dT; - - } - rate_Fe52_to_He4_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe52_to_He4_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_reaclib) = drate_dT; - - } - rate_Fe53_to_n_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe53_to_n_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_reaclib) = drate_dT; - - } - rate_Fe53_to_p_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe53_to_p_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_p_Mn52_reaclib) = drate_dT; - - } - rate_Fe53_to_He4_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe53_to_He4_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe53_to_He4_Cr49_reaclib) = drate_dT; - - } - rate_Fe54_to_n_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe54_to_n_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_reaclib) = drate_dT; - - } - rate_Fe54_to_p_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe54_to_p_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_p_Mn53_reaclib) = drate_dT; - - } - rate_Fe54_to_He4_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe54_to_He4_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe54_to_He4_Cr50_reaclib) = drate_dT; - - } - rate_Fe55_to_n_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe55_to_n_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_reaclib) = drate_dT; - - } - rate_Fe55_to_p_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe55_to_p_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_p_Mn54_reaclib) = drate_dT; - - } - rate_Fe55_to_He4_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe55_to_He4_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe55_to_He4_Cr51_reaclib) = drate_dT; - - } - rate_Fe56_to_n_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe56_to_n_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_reaclib) = drate_dT; - - } - rate_Fe56_to_p_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe56_to_p_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe56_to_p_Mn55_reaclib) = drate_dT; - - } - rate_Fe56_to_He4_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe56_to_He4_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe56_to_He4_Cr52_reaclib) = drate_dT; - - } - rate_Fe57_to_n_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe57_to_n_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe57_to_n_Fe56_reaclib) = drate_dT; - - } - rate_Fe57_to_He4_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe57_to_He4_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe57_to_He4_Cr53_reaclib) = drate_dT; - - } - rate_Fe58_to_n_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe58_to_n_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe58_to_n_Fe57_reaclib) = drate_dT; - - } - rate_Fe58_to_He4_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Fe58_to_He4_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Fe58_to_He4_Cr54_reaclib) = drate_dT; - - } - rate_Co53_to_p_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co53_to_p_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co53_to_p_Fe52_reaclib) = drate_dT; - - } - rate_Co54_to_n_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co54_to_n_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co54_to_n_Co53_reaclib) = drate_dT; - - } - rate_Co54_to_p_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co54_to_p_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co54_to_p_Fe53_reaclib) = drate_dT; - - } - rate_Co54_to_He4_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co54_to_He4_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co54_to_He4_Mn50_reaclib) = drate_dT; - - } - rate_Co55_to_n_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co55_to_n_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_n_Co54_reaclib) = drate_dT; - - } - rate_Co55_to_p_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co55_to_p_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_reaclib) = drate_dT; - - } - rate_Co55_to_He4_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co55_to_He4_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_reaclib) = drate_dT; - - } - rate_Co56_to_n_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co56_to_n_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_reaclib) = drate_dT; - - } - rate_Co56_to_p_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co56_to_p_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_p_Fe55_reaclib) = drate_dT; - - } - rate_Co56_to_He4_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co56_to_He4_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co56_to_He4_Mn52_reaclib) = drate_dT; - - } - rate_Co57_to_n_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co57_to_n_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_reaclib) = drate_dT; - - } - rate_Co57_to_p_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co57_to_p_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_reaclib) = drate_dT; - - } - rate_Co57_to_He4_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co57_to_He4_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co57_to_He4_Mn53_reaclib) = drate_dT; - - } - rate_Co58_to_n_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co58_to_n_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co58_to_n_Co57_reaclib) = drate_dT; - - } - rate_Co58_to_p_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co58_to_p_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co58_to_p_Fe57_reaclib) = drate_dT; - - } - rate_Co58_to_He4_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co58_to_He4_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co58_to_He4_Mn54_reaclib) = drate_dT; - - } - rate_Co59_to_n_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co59_to_n_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co59_to_n_Co58_reaclib) = drate_dT; - - } - rate_Co59_to_p_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co59_to_p_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co59_to_p_Fe58_reaclib) = drate_dT; - - } - rate_Co59_to_He4_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Co59_to_He4_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Co59_to_He4_Mn55_reaclib) = drate_dT; - - } - rate_Ni56_to_p_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni56_to_p_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_reaclib) = drate_dT; - - } - rate_Ni56_to_He4_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni56_to_He4_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_reaclib) = drate_dT; - - } - rate_Ni57_to_n_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni57_to_n_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_reaclib) = drate_dT; - - } - rate_Ni57_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni57_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_p_Co56_reaclib) = drate_dT; - - } - rate_Ni57_to_He4_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni57_to_He4_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni57_to_He4_Fe53_reaclib) = drate_dT; - - } - rate_Ni58_to_n_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni58_to_n_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_reaclib) = drate_dT; - - } - rate_Ni58_to_p_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni58_to_p_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_reaclib) = drate_dT; - - } - rate_Ni58_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni58_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_Ni59_to_n_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni59_to_n_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni59_to_n_Ni58_reaclib) = drate_dT; - - } - rate_Ni59_to_p_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni59_to_p_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni59_to_p_Co58_reaclib) = drate_dT; - - } - rate_Ni59_to_He4_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni59_to_He4_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni59_to_He4_Fe55_reaclib) = drate_dT; - - } - rate_Ni60_to_n_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni60_to_n_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni60_to_n_Ni59_reaclib) = drate_dT; - - } - rate_Ni60_to_p_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni60_to_p_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni60_to_p_Co59_reaclib) = drate_dT; - - } - rate_Ni60_to_He4_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni60_to_He4_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni60_to_He4_Fe56_reaclib) = drate_dT; - - } - rate_Ni61_to_n_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni61_to_n_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni61_to_n_Ni60_reaclib) = drate_dT; - - } - rate_Ni61_to_He4_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni61_to_He4_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni61_to_He4_Fe57_reaclib) = drate_dT; - - } - rate_Ni62_to_n_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni62_to_n_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni62_to_n_Ni61_reaclib) = drate_dT; - - } - rate_Ni62_to_He4_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni62_to_He4_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni62_to_He4_Fe58_reaclib) = drate_dT; - - } - rate_Ni63_to_n_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni63_to_n_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni63_to_n_Ni62_reaclib) = drate_dT; - - } - rate_Ni64_to_n_Ni63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ni64_to_n_Ni63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ni64_to_n_Ni63_reaclib) = drate_dT; - - } - rate_Cu57_to_p_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu57_to_p_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu57_to_p_Ni56_reaclib) = drate_dT; - - } - rate_Cu57_to_He4_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu57_to_He4_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu57_to_He4_Co53_reaclib) = drate_dT; - - } - rate_Cu58_to_n_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu58_to_n_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu58_to_n_Cu57_reaclib) = drate_dT; - - } - rate_Cu58_to_p_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu58_to_p_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu58_to_p_Ni57_reaclib) = drate_dT; - - } - rate_Cu58_to_He4_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu58_to_He4_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu58_to_He4_Co54_reaclib) = drate_dT; - - } - rate_Cu59_to_n_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu59_to_n_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu59_to_n_Cu58_reaclib) = drate_dT; - - } - rate_Cu59_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu59_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu59_to_p_Ni58_reaclib) = drate_dT; - - } - rate_Cu59_to_He4_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu59_to_He4_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu59_to_He4_Co55_reaclib) = drate_dT; - - } - rate_Cu60_to_n_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu60_to_n_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu60_to_n_Cu59_reaclib) = drate_dT; - - } - rate_Cu60_to_p_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu60_to_p_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu60_to_p_Ni59_reaclib) = drate_dT; - - } - rate_Cu60_to_He4_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu60_to_He4_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu60_to_He4_Co56_reaclib) = drate_dT; - - } - rate_Cu61_to_n_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu61_to_n_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu61_to_n_Cu60_reaclib) = drate_dT; - - } - rate_Cu61_to_p_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu61_to_p_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu61_to_p_Ni60_reaclib) = drate_dT; - - } - rate_Cu61_to_He4_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu61_to_He4_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu61_to_He4_Co57_reaclib) = drate_dT; - - } - rate_Cu62_to_n_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu62_to_n_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu62_to_n_Cu61_reaclib) = drate_dT; - - } - rate_Cu62_to_p_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu62_to_p_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu62_to_p_Ni61_reaclib) = drate_dT; - - } - rate_Cu62_to_He4_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu62_to_He4_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu62_to_He4_Co58_reaclib) = drate_dT; - - } - rate_Cu63_to_n_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu63_to_n_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu63_to_n_Cu62_reaclib) = drate_dT; - - } - rate_Cu63_to_p_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu63_to_p_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu63_to_p_Ni62_reaclib) = drate_dT; - - } - rate_Cu63_to_He4_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu63_to_He4_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu63_to_He4_Co59_reaclib) = drate_dT; - - } - rate_Cu64_to_n_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu64_to_n_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu64_to_n_Cu63_reaclib) = drate_dT; - - } - rate_Cu64_to_p_Ni63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu64_to_p_Ni63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu64_to_p_Ni63_reaclib) = drate_dT; - - } - rate_Cu65_to_n_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu65_to_n_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu65_to_n_Cu64_reaclib) = drate_dT; - - } - rate_Cu65_to_p_Ni64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Cu65_to_p_Ni64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Cu65_to_p_Ni64_reaclib) = drate_dT; - - } - rate_Zn59_to_p_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn59_to_p_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn59_to_p_Cu58_reaclib) = drate_dT; - - } - rate_Zn59_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn59_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn59_to_p_Ni58_reaclib) = drate_dT; - - } - rate_Zn60_to_n_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn60_to_n_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn60_to_n_Zn59_reaclib) = drate_dT; - - } - rate_Zn60_to_p_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn60_to_p_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn60_to_p_Cu59_reaclib) = drate_dT; - - } - rate_Zn60_to_He4_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn60_to_He4_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn60_to_He4_Ni56_reaclib) = drate_dT; - - } - rate_Zn61_to_n_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn61_to_n_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn61_to_n_Zn60_reaclib) = drate_dT; - - } - rate_Zn61_to_p_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn61_to_p_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn61_to_p_Cu60_reaclib) = drate_dT; - - } - rate_Zn61_to_He4_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn61_to_He4_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn61_to_He4_Ni57_reaclib) = drate_dT; - - } - rate_Zn62_to_n_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn62_to_n_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn62_to_n_Zn61_reaclib) = drate_dT; - - } - rate_Zn62_to_p_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn62_to_p_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn62_to_p_Cu61_reaclib) = drate_dT; - - } - rate_Zn62_to_He4_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn62_to_He4_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn62_to_He4_Ni58_reaclib) = drate_dT; - - } - rate_Zn63_to_n_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn63_to_n_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn63_to_n_Zn62_reaclib) = drate_dT; - - } - rate_Zn63_to_p_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn63_to_p_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn63_to_p_Cu62_reaclib) = drate_dT; - - } - rate_Zn63_to_He4_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn63_to_He4_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn63_to_He4_Ni59_reaclib) = drate_dT; - - } - rate_Zn64_to_n_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn64_to_n_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn64_to_n_Zn63_reaclib) = drate_dT; - - } - rate_Zn64_to_p_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn64_to_p_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn64_to_p_Cu63_reaclib) = drate_dT; - - } - rate_Zn64_to_He4_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn64_to_He4_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn64_to_He4_Ni60_reaclib) = drate_dT; - - } - rate_Zn65_to_n_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn65_to_n_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn65_to_n_Zn64_reaclib) = drate_dT; - - } - rate_Zn65_to_p_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn65_to_p_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn65_to_p_Cu64_reaclib) = drate_dT; - - } - rate_Zn65_to_He4_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn65_to_He4_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn65_to_He4_Ni61_reaclib) = drate_dT; - - } - rate_Zn66_to_n_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn66_to_n_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn66_to_n_Zn65_reaclib) = drate_dT; - - } - rate_Zn66_to_p_Cu65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn66_to_p_Cu65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn66_to_p_Cu65_reaclib) = drate_dT; - - } - rate_Zn66_to_He4_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Zn66_to_He4_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Zn66_to_He4_Ni62_reaclib) = drate_dT; - - } - rate_Ga62_to_p_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga62_to_p_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga62_to_p_Zn61_reaclib) = drate_dT; - - } - rate_Ga62_to_He4_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga62_to_He4_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga62_to_He4_Cu58_reaclib) = drate_dT; - - } - rate_Ga63_to_n_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga63_to_n_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga63_to_n_Ga62_reaclib) = drate_dT; - - } - rate_Ga63_to_p_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga63_to_p_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga63_to_p_Zn62_reaclib) = drate_dT; - - } - rate_Ga63_to_He4_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga63_to_He4_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga63_to_He4_Cu59_reaclib) = drate_dT; - - } - rate_Ga64_to_n_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga64_to_n_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga64_to_n_Ga63_reaclib) = drate_dT; - - } - rate_Ga64_to_p_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga64_to_p_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga64_to_p_Zn63_reaclib) = drate_dT; - - } - rate_Ga64_to_He4_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ga64_to_He4_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ga64_to_He4_Cu60_reaclib) = drate_dT; - - } - rate_Ge63_to_p_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge63_to_p_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge63_to_p_Ga62_reaclib) = drate_dT; - - } - rate_Ge63_to_He4_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge63_to_He4_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge63_to_He4_Zn59_reaclib) = drate_dT; - - } - rate_Ge64_to_n_Ge63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge64_to_n_Ge63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge64_to_n_Ge63_reaclib) = drate_dT; - - } - rate_Ge64_to_p_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge64_to_p_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge64_to_p_Ga63_reaclib) = drate_dT; - - } - rate_Ge64_to_He4_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Ge64_to_He4_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Ge64_to_He4_Zn60_reaclib) = drate_dT; - - } - rate_Li6_to_n_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Li6_to_n_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Li6_to_n_p_He4_reaclib) = drate_dT; - - } - rate_Be9_to_n_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_Be9_to_n_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_Be9_to_n_He4_He4_reaclib) = drate_dT; - - } - rate_C12_to_He4_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_to_He4_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_reaclib) = drate_dT; - - } - rate_n_p_to_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_p_to_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_p_to_d_reaclib) = drate_dT; - - } - rate_p_p_to_d_reaclib_bet_pos(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; - - } - rate_p_p_to_d_reaclib_electron_capture(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; - - } - rate_p_d_to_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; - - } - rate_d_d_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; - - } - rate_He4_d_to_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_d_to_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_d_to_Li6_reaclib) = drate_dT; - - } - rate_n_He3_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_He3_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_He3_to_He4_reaclib) = drate_dT; - - } - rate_p_He3_to_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; - - } - rate_He4_He3_to_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; - - } - rate_n_Li6_to_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Li6_to_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Li6_to_Li7_reaclib) = drate_dT; - - } - rate_p_Li6_to_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li6_to_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li6_to_Be7_reaclib) = drate_dT; - - } - rate_He4_Li6_to_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Li6_to_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Li6_to_B10_reaclib) = drate_dT; - - } - rate_He4_Li7_to_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = drate_dT; - - } - rate_p_Be7_to_B8_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; - - } - rate_p_Be9_to_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be9_to_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be9_to_B10_reaclib) = drate_dT; - - } - rate_n_B10_to_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_B10_to_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_B10_to_B11_reaclib) = drate_dT; - - } - rate_p_B11_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_B11_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = drate_dT; - - } - rate_n_C12_to_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_C12_to_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_C12_to_C13_reaclib) = drate_dT; - - } - rate_p_C12_to_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; - - } - rate_He4_C12_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; - - } - rate_n_C13_to_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_C13_to_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_C13_to_C14_reaclib) = drate_dT; - - } - rate_p_C13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; - - } - rate_p_C14_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C14_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C14_to_N15_reaclib) = drate_dT; - - } - rate_He4_C14_to_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C14_to_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C14_to_O18_reaclib) = drate_dT; - - } - rate_n_N13_to_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N13_to_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N13_to_N14_reaclib) = drate_dT; - - } - rate_p_N13_to_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; - - } - rate_n_N14_to_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N14_to_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N14_to_N15_reaclib) = drate_dT; - - } - rate_p_N14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; - - } - rate_He4_N14_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; - - } - rate_p_N15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; - - } - rate_He4_N15_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; - - } - rate_n_O14_to_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O14_to_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O14_to_O15_reaclib) = drate_dT; - - } - rate_He4_O14_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; - - } - rate_n_O15_to_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O15_to_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O15_to_O16_reaclib) = drate_dT; - - } - rate_He4_O15_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; - - } - rate_n_O16_to_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O16_to_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O16_to_O17_reaclib) = drate_dT; - - } - rate_p_O16_to_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; - - } - rate_He4_O16_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; - - } - rate_n_O17_to_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O17_to_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O17_to_O18_reaclib) = drate_dT; - - } - rate_p_O17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; - - } - rate_He4_O17_to_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; - - } - rate_p_O18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; - - } - rate_He4_O18_to_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = drate_dT; - - } - rate_n_F17_to_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F17_to_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F17_to_F18_reaclib) = drate_dT; - - } - rate_p_F17_to_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; - - } - rate_He4_F17_to_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = drate_dT; - - } - rate_n_F18_to_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F18_to_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F18_to_F19_reaclib) = drate_dT; - - } - rate_p_F18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; - - } - rate_He4_F18_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; - - } - rate_p_F19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_F19_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; - - } - rate_n_Ne18_to_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne18_to_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne18_to_Ne19_reaclib) = drate_dT; - - } - rate_n_Ne19_to_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne19_to_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne19_to_Ne20_reaclib) = drate_dT; - - } - rate_He4_Ne19_to_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne19_to_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_Mg23_reaclib) = drate_dT; - - } - rate_n_Ne20_to_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne20_to_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne20_to_Ne21_reaclib) = drate_dT; - - } - rate_p_Ne20_to_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; - - } - rate_n_Ne21_to_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne21_to_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne21_to_Ne22_reaclib) = drate_dT; - - } - rate_p_Ne21_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; - - } - rate_He4_Ne21_to_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne21_to_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne21_to_Mg25_reaclib) = drate_dT; - - } - rate_p_Ne22_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = drate_dT; - - } - rate_He4_Ne22_to_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne22_to_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne22_to_Mg26_reaclib) = drate_dT; - - } - rate_n_Na21_to_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na21_to_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na21_to_Na22_reaclib) = drate_dT; - - } - rate_He4_Na21_to_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na21_to_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na21_to_Al25_reaclib) = drate_dT; - - } - rate_n_Na22_to_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na22_to_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na22_to_Na23_reaclib) = drate_dT; - - } - rate_p_Na22_to_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na22_to_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na22_to_Mg23_reaclib) = drate_dT; - - } - rate_He4_Na22_to_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na22_to_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_reaclib) = drate_dT; - - } - rate_p_Na23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; - - } - rate_He4_Na23_to_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = drate_dT; - - } - rate_n_Mg23_to_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_Mg24_reaclib) = drate_dT; - - } - rate_n_Mg24_to_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg24_to_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg24_to_Mg25_reaclib) = drate_dT; - - } - rate_p_Mg24_to_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg24_to_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; - - } - rate_n_Mg25_to_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg25_to_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg25_to_Mg26_reaclib) = drate_dT; - - } - rate_p_Mg25_to_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg25_to_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg25_to_Al26_reaclib) = drate_dT; - - } - rate_He4_Mg25_to_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg25_to_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg25_to_Si29_reaclib) = drate_dT; - - } - rate_p_Mg26_to_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg26_to_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg26_to_Al27_reaclib) = drate_dT; - - } - rate_He4_Mg26_to_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg26_to_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg26_to_Si30_reaclib) = drate_dT; - - } - rate_n_Al25_to_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al25_to_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al25_to_Al26_reaclib) = drate_dT; - - } - rate_He4_Al25_to_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al25_to_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al25_to_P29_reaclib) = drate_dT; - - } - rate_n_Al26_to_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al26_to_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al26_to_Al27_reaclib) = drate_dT; - - } - rate_He4_Al26_to_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al26_to_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al26_to_P30_reaclib) = drate_dT; - - } - rate_p_Al27_to_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; - - } - rate_He4_Al27_to_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; - - } - rate_n_Si28_to_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si28_to_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si28_to_Si29_reaclib) = drate_dT; - - } - rate_p_Si28_to_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si28_to_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si28_to_P29_reaclib) = drate_dT; - - } - rate_He4_Si28_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; - - } - rate_n_Si29_to_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si29_to_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si29_to_Si30_reaclib) = drate_dT; - - } - rate_p_Si29_to_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si29_to_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si29_to_P30_reaclib) = drate_dT; - - } - rate_He4_Si29_to_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si29_to_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si29_to_S33_reaclib) = drate_dT; - - } - rate_n_Si30_to_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si30_to_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si30_to_Si31_reaclib) = drate_dT; - - } - rate_p_Si30_to_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si30_to_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si30_to_P31_reaclib) = drate_dT; - - } - rate_He4_Si30_to_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si30_to_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si30_to_S34_reaclib) = drate_dT; - - } - rate_n_Si31_to_Si32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si31_to_Si32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si31_to_Si32_reaclib) = drate_dT; - - } - rate_p_Si31_to_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si31_to_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si31_to_P32_reaclib) = drate_dT; - - } - rate_He4_Si31_to_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si31_to_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si31_to_S35_reaclib) = drate_dT; - - } - rate_p_Si32_to_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si32_to_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si32_to_P33_reaclib) = drate_dT; - - } - rate_He4_Si32_to_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si32_to_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si32_to_S36_reaclib) = drate_dT; - - } - rate_n_P29_to_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P29_to_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P29_to_P30_reaclib) = drate_dT; - - } - rate_He4_P29_to_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P29_to_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P29_to_Cl33_reaclib) = drate_dT; - - } - rate_n_P30_to_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P30_to_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P30_to_P31_reaclib) = drate_dT; - - } - rate_He4_P30_to_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P30_to_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P30_to_Cl34_reaclib) = drate_dT; - - } - rate_n_P31_to_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P31_to_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P31_to_P32_reaclib) = drate_dT; - - } - rate_p_P31_to_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; - - } - rate_He4_P31_to_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P31_to_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P31_to_Cl35_reaclib) = drate_dT; - - } - rate_n_P32_to_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P32_to_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P32_to_P33_reaclib) = drate_dT; - - } - rate_p_P32_to_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P32_to_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P32_to_S33_reaclib) = drate_dT; - - } - rate_He4_P32_to_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P32_to_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P32_to_Cl36_reaclib) = drate_dT; - - } - rate_p_P33_to_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P33_to_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P33_to_S34_reaclib) = drate_dT; - - } - rate_He4_P33_to_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P33_to_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P33_to_Cl37_reaclib) = drate_dT; - - } - rate_n_S32_to_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S32_to_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S32_to_S33_reaclib) = drate_dT; - - } - rate_p_S32_to_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S32_to_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S32_to_Cl33_reaclib) = drate_dT; - - } - rate_He4_S32_to_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_reaclib) = drate_dT; - - } - rate_n_S33_to_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S33_to_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S33_to_S34_reaclib) = drate_dT; - - } - rate_p_S33_to_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S33_to_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S33_to_Cl34_reaclib) = drate_dT; - - } - rate_He4_S33_to_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S33_to_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S33_to_Ar37_reaclib) = drate_dT; - - } - rate_n_S34_to_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S34_to_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S34_to_S35_reaclib) = drate_dT; - - } - rate_p_S34_to_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S34_to_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S34_to_Cl35_reaclib) = drate_dT; - - } - rate_He4_S34_to_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S34_to_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S34_to_Ar38_reaclib) = drate_dT; - - } - rate_n_S35_to_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S35_to_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S35_to_S36_reaclib) = drate_dT; - - } - rate_p_S35_to_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S35_to_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S35_to_Cl36_reaclib) = drate_dT; - - } - rate_He4_S35_to_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S35_to_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S35_to_Ar39_reaclib) = drate_dT; - - } - rate_p_S36_to_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S36_to_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S36_to_Cl37_reaclib) = drate_dT; - - } - rate_He4_S36_to_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S36_to_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S36_to_Ar40_reaclib) = drate_dT; - - } - rate_n_Cl33_to_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl33_to_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl33_to_Cl34_reaclib) = drate_dT; - - } - rate_He4_Cl33_to_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl33_to_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl33_to_K37_reaclib) = drate_dT; - - } - rate_n_Cl34_to_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl34_to_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl34_to_Cl35_reaclib) = drate_dT; - - } - rate_He4_Cl34_to_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl34_to_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_K38_reaclib) = drate_dT; - - } - rate_n_Cl35_to_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl35_to_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl35_to_Cl36_reaclib) = drate_dT; - - } - rate_p_Cl35_to_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_reaclib) = drate_dT; - - } - rate_He4_Cl35_to_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl35_to_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_K39_reaclib) = drate_dT; - - } - rate_n_Cl36_to_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl36_to_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl36_to_Cl37_reaclib) = drate_dT; - - } - rate_p_Cl36_to_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl36_to_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl36_to_Ar37_reaclib) = drate_dT; - - } - rate_He4_Cl36_to_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl36_to_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_K40_reaclib) = drate_dT; - - } - rate_p_Cl37_to_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl37_to_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl37_to_Ar38_reaclib) = drate_dT; - - } - rate_He4_Cl37_to_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl37_to_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_K41_reaclib) = drate_dT; - - } - rate_n_Ar36_to_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar36_to_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar36_to_Ar37_reaclib) = drate_dT; - - } - rate_p_Ar36_to_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar36_to_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar36_to_K37_reaclib) = drate_dT; - - } - rate_He4_Ar36_to_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_reaclib) = drate_dT; - - } - rate_n_Ar37_to_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar37_to_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar37_to_Ar38_reaclib) = drate_dT; - - } - rate_p_Ar37_to_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar37_to_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar37_to_K38_reaclib) = drate_dT; - - } - rate_He4_Ar37_to_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar37_to_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_Ca41_reaclib) = drate_dT; - - } - rate_n_Ar38_to_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar38_to_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar38_to_Ar39_reaclib) = drate_dT; - - } - rate_p_Ar38_to_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar38_to_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar38_to_K39_reaclib) = drate_dT; - - } - rate_He4_Ar38_to_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar38_to_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_Ca42_reaclib) = drate_dT; - - } - rate_n_Ar39_to_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar39_to_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar39_to_Ar40_reaclib) = drate_dT; - - } - rate_p_Ar39_to_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar39_to_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar39_to_K40_reaclib) = drate_dT; - - } - rate_He4_Ar39_to_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar39_to_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar39_to_Ca43_reaclib) = drate_dT; - - } - rate_p_Ar40_to_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar40_to_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar40_to_K41_reaclib) = drate_dT; - - } - rate_He4_Ar40_to_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar40_to_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar40_to_Ca44_reaclib) = drate_dT; - - } - rate_n_K37_to_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K37_to_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K37_to_K38_reaclib) = drate_dT; - - } - rate_n_K38_to_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K38_to_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K38_to_K39_reaclib) = drate_dT; - - } - rate_n_K39_to_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K39_to_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K39_to_K40_reaclib) = drate_dT; - - } - rate_p_K39_to_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_reaclib) = drate_dT; - - } - rate_He4_K39_to_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K39_to_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K39_to_Sc43_reaclib) = drate_dT; - - } - rate_n_K40_to_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K40_to_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K40_to_K41_reaclib) = drate_dT; - - } - rate_p_K40_to_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K40_to_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K40_to_Ca41_reaclib) = drate_dT; - - } - rate_He4_K40_to_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K40_to_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K40_to_Sc44_reaclib) = drate_dT; - - } - rate_p_K41_to_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K41_to_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K41_to_Ca42_reaclib) = drate_dT; - - } - rate_He4_K41_to_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K41_to_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K41_to_Sc45_reaclib) = drate_dT; - - } - rate_n_Ca40_to_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca40_to_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca40_to_Ca41_reaclib) = drate_dT; - - } - rate_He4_Ca40_to_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_reaclib) = drate_dT; - - } - rate_n_Ca41_to_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca41_to_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca41_to_Ca42_reaclib) = drate_dT; - - } - rate_He4_Ca41_to_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca41_to_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_Ti45_reaclib) = drate_dT; - - } - rate_n_Ca42_to_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca42_to_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca42_to_Ca43_reaclib) = drate_dT; - - } - rate_p_Ca42_to_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca42_to_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca42_to_Sc43_reaclib) = drate_dT; - - } - rate_He4_Ca42_to_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca42_to_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_Ti46_reaclib) = drate_dT; - - } - rate_n_Ca43_to_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca43_to_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca43_to_Ca44_reaclib) = drate_dT; - - } - rate_p_Ca43_to_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca43_to_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca43_to_Sc44_reaclib) = drate_dT; - - } - rate_He4_Ca43_to_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca43_to_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_Ti47_reaclib) = drate_dT; - - } - rate_n_Ca44_to_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca44_to_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca44_to_Ca45_reaclib) = drate_dT; - - } - rate_p_Ca44_to_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca44_to_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca44_to_Sc45_reaclib) = drate_dT; - - } - rate_He4_Ca44_to_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca44_to_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_Ti48_reaclib) = drate_dT; - - } - rate_n_Ca45_to_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca45_to_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca45_to_Ca46_reaclib) = drate_dT; - - } - rate_p_Ca45_to_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca45_to_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca45_to_Sc46_reaclib) = drate_dT; - - } - rate_He4_Ca45_to_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca45_to_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_Ti49_reaclib) = drate_dT; - - } - rate_n_Ca46_to_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca46_to_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca46_to_Ca47_reaclib) = drate_dT; - - } - rate_p_Ca46_to_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca46_to_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca46_to_Sc47_reaclib) = drate_dT; - - } - rate_He4_Ca46_to_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca46_to_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_Ti50_reaclib) = drate_dT; - - } - rate_n_Ca47_to_Ca48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca47_to_Ca48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca47_to_Ca48_reaclib) = drate_dT; - - } - rate_p_Ca47_to_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca47_to_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca47_to_Sc48_reaclib) = drate_dT; - - } - rate_He4_Ca47_to_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca47_to_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca47_to_Ti51_reaclib) = drate_dT; - - } - rate_p_Ca48_to_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca48_to_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca48_to_Sc49_reaclib) = drate_dT; - - } - rate_n_Sc43_to_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc43_to_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc43_to_Sc44_reaclib) = drate_dT; - - } - rate_p_Sc43_to_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_reaclib) = drate_dT; - - } - rate_He4_Sc43_to_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc43_to_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_V47_reaclib) = drate_dT; - - } - rate_n_Sc44_to_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc44_to_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc44_to_Sc45_reaclib) = drate_dT; - - } - rate_p_Sc44_to_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc44_to_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc44_to_Ti45_reaclib) = drate_dT; - - } - rate_He4_Sc44_to_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc44_to_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_V48_reaclib) = drate_dT; - - } - rate_n_Sc45_to_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc45_to_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc45_to_Sc46_reaclib) = drate_dT; - - } - rate_p_Sc45_to_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc45_to_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc45_to_Ti46_reaclib) = drate_dT; - - } - rate_He4_Sc45_to_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc45_to_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_V49_reaclib) = drate_dT; - - } - rate_n_Sc46_to_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc46_to_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc46_to_Sc47_reaclib) = drate_dT; - - } - rate_p_Sc46_to_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc46_to_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc46_to_Ti47_reaclib) = drate_dT; - - } - rate_He4_Sc46_to_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc46_to_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_V50_reaclib) = drate_dT; - - } - rate_n_Sc47_to_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc47_to_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc47_to_Sc48_reaclib) = drate_dT; - - } - rate_p_Sc47_to_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc47_to_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc47_to_Ti48_reaclib) = drate_dT; - - } - rate_He4_Sc47_to_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc47_to_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_V51_reaclib) = drate_dT; - - } - rate_n_Sc48_to_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc48_to_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc48_to_Sc49_reaclib) = drate_dT; - - } - rate_p_Sc48_to_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc48_to_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc48_to_Ti49_reaclib) = drate_dT; - - } - rate_He4_Sc48_to_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc48_to_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_V52_reaclib) = drate_dT; - - } - rate_p_Sc49_to_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc49_to_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc49_to_Ti50_reaclib) = drate_dT; - - } - rate_n_Ti44_to_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti44_to_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti44_to_Ti45_reaclib) = drate_dT; - - } - rate_He4_Ti44_to_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_reaclib) = drate_dT; - - } - rate_n_Ti45_to_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti45_to_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti45_to_Ti46_reaclib) = drate_dT; - - } - rate_p_Ti45_to_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti45_to_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti45_to_V46_reaclib) = drate_dT; - - } - rate_He4_Ti45_to_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti45_to_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_Cr49_reaclib) = drate_dT; - - } - rate_n_Ti46_to_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti46_to_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti46_to_Ti47_reaclib) = drate_dT; - - } - rate_p_Ti46_to_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti46_to_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti46_to_V47_reaclib) = drate_dT; - - } - rate_He4_Ti46_to_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti46_to_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_Cr50_reaclib) = drate_dT; - - } - rate_n_Ti47_to_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti47_to_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti47_to_Ti48_reaclib) = drate_dT; - - } - rate_p_Ti47_to_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti47_to_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti47_to_V48_reaclib) = drate_dT; - - } - rate_He4_Ti47_to_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti47_to_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_Cr51_reaclib) = drate_dT; - - } - rate_n_Ti48_to_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti48_to_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti48_to_Ti49_reaclib) = drate_dT; - - } - rate_p_Ti48_to_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti48_to_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti48_to_V49_reaclib) = drate_dT; - - } - rate_He4_Ti48_to_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti48_to_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_Cr52_reaclib) = drate_dT; - - } - rate_n_Ti49_to_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti49_to_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti49_to_Ti50_reaclib) = drate_dT; - - } - rate_p_Ti49_to_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti49_to_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti49_to_V50_reaclib) = drate_dT; - - } - rate_He4_Ti49_to_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti49_to_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_Cr53_reaclib) = drate_dT; - - } - rate_n_Ti50_to_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti50_to_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti50_to_Ti51_reaclib) = drate_dT; - - } - rate_p_Ti50_to_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti50_to_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti50_to_V51_reaclib) = drate_dT; - - } - rate_He4_Ti50_to_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti50_to_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti50_to_Cr54_reaclib) = drate_dT; - - } - rate_p_Ti51_to_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti51_to_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti51_to_V52_reaclib) = drate_dT; - - } - rate_n_V46_to_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V46_to_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V46_to_V47_reaclib) = drate_dT; - - } - rate_He4_V46_to_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V46_to_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V46_to_Mn50_reaclib) = drate_dT; - - } - rate_n_V47_to_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V47_to_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V47_to_V48_reaclib) = drate_dT; - - } - rate_p_V47_to_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_reaclib) = drate_dT; - - } - rate_He4_V47_to_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V47_to_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V47_to_Mn51_reaclib) = drate_dT; - - } - rate_n_V48_to_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V48_to_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V48_to_V49_reaclib) = drate_dT; - - } - rate_p_V48_to_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V48_to_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V48_to_Cr49_reaclib) = drate_dT; - - } - rate_He4_V48_to_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V48_to_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V48_to_Mn52_reaclib) = drate_dT; - - } - rate_n_V49_to_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V49_to_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V49_to_V50_reaclib) = drate_dT; - - } - rate_p_V49_to_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V49_to_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V49_to_Cr50_reaclib) = drate_dT; - - } - rate_He4_V49_to_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V49_to_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V49_to_Mn53_reaclib) = drate_dT; - - } - rate_n_V50_to_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V50_to_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V50_to_V51_reaclib) = drate_dT; - - } - rate_p_V50_to_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V50_to_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V50_to_Cr51_reaclib) = drate_dT; - - } - rate_He4_V50_to_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V50_to_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V50_to_Mn54_reaclib) = drate_dT; - - } - rate_n_V51_to_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V51_to_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V51_to_V52_reaclib) = drate_dT; - - } - rate_p_V51_to_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V51_to_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V51_to_Cr52_reaclib) = drate_dT; - - } - rate_He4_V51_to_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V51_to_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V51_to_Mn55_reaclib) = drate_dT; - - } - rate_p_V52_to_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V52_to_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V52_to_Cr53_reaclib) = drate_dT; - - } - rate_n_Cr48_to_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr48_to_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr48_to_Cr49_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; - - } - rate_n_Cr49_to_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr49_to_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr49_to_Cr50_reaclib) = drate_dT; - - } - rate_p_Cr49_to_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr49_to_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr49_to_Mn50_reaclib) = drate_dT; - - } - rate_He4_Cr49_to_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr49_to_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_Fe53_reaclib) = drate_dT; - - } - rate_n_Cr50_to_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr50_to_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr50_to_Cr51_reaclib) = drate_dT; - - } - rate_p_Cr50_to_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr50_to_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr50_to_Mn51_reaclib) = drate_dT; - - } - rate_He4_Cr50_to_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr50_to_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_Fe54_reaclib) = drate_dT; - - } - rate_n_Cr51_to_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr51_to_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr51_to_Cr52_reaclib) = drate_dT; - - } - rate_p_Cr51_to_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr51_to_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr51_to_Mn52_reaclib) = drate_dT; - - } - rate_He4_Cr51_to_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr51_to_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_Fe55_reaclib) = drate_dT; - - } - rate_n_Cr52_to_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr52_to_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr52_to_Cr53_reaclib) = drate_dT; - - } - rate_p_Cr52_to_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr52_to_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr52_to_Mn53_reaclib) = drate_dT; - - } - rate_He4_Cr52_to_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr52_to_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_Fe56_reaclib) = drate_dT; - - } - rate_n_Cr53_to_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr53_to_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr53_to_Cr54_reaclib) = drate_dT; - - } - rate_p_Cr53_to_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr53_to_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr53_to_Mn54_reaclib) = drate_dT; - - } - rate_He4_Cr53_to_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr53_to_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr53_to_Fe57_reaclib) = drate_dT; - - } - rate_p_Cr54_to_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr54_to_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr54_to_Mn55_reaclib) = drate_dT; - - } - rate_He4_Cr54_to_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr54_to_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr54_to_Fe58_reaclib) = drate_dT; - - } - rate_n_Mn50_to_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn50_to_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn50_to_Mn51_reaclib) = drate_dT; - - } - rate_He4_Mn50_to_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn50_to_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_Co54_reaclib) = drate_dT; - - } - rate_n_Mn51_to_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn51_to_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn51_to_Mn52_reaclib) = drate_dT; - - } - rate_p_Mn51_to_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; - - } - rate_n_Mn52_to_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn52_to_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn52_to_Mn53_reaclib) = drate_dT; - - } - rate_p_Mn52_to_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn52_to_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn52_to_Fe53_reaclib) = drate_dT; - - } - rate_He4_Mn52_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn52_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_Co56_reaclib) = drate_dT; - - } - rate_n_Mn53_to_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn53_to_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn53_to_Mn54_reaclib) = drate_dT; - - } - rate_p_Mn53_to_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn53_to_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn53_to_Fe54_reaclib) = drate_dT; - - } - rate_He4_Mn53_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn53_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_Co57_reaclib) = drate_dT; - - } - rate_n_Mn54_to_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn54_to_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn54_to_Mn55_reaclib) = drate_dT; - - } - rate_p_Mn54_to_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn54_to_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn54_to_Fe55_reaclib) = drate_dT; - - } - rate_He4_Mn54_to_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn54_to_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_Co58_reaclib) = drate_dT; - - } - rate_p_Mn55_to_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = drate_dT; - - } - rate_He4_Mn55_to_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn55_to_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_Co59_reaclib) = drate_dT; - - } - rate_n_Fe52_to_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_reaclib) = drate_dT; - - } - rate_p_Fe52_to_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe52_to_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe52_to_Co53_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; - - } - rate_n_Fe53_to_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_reaclib) = drate_dT; - - } - rate_p_Fe53_to_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe53_to_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe53_to_Co54_reaclib) = drate_dT; - - } - rate_He4_Fe53_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = drate_dT; - - } - rate_n_Fe54_to_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_reaclib) = drate_dT; - - } - rate_p_Fe54_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; - - } - rate_n_Fe55_to_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_reaclib) = drate_dT; - - } - rate_p_Fe55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = drate_dT; - - } - rate_He4_Fe55_to_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe55_to_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_Ni59_reaclib) = drate_dT; - - } - rate_n_Fe56_to_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe56_to_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe56_to_Fe57_reaclib) = drate_dT; - - } - rate_p_Fe56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; - - } - rate_He4_Fe56_to_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe56_to_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_Ni60_reaclib) = drate_dT; - - } - rate_n_Fe57_to_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe57_to_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe57_to_Fe58_reaclib) = drate_dT; - - } - rate_p_Fe57_to_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe57_to_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe57_to_Co58_reaclib) = drate_dT; - - } - rate_He4_Fe57_to_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe57_to_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe57_to_Ni61_reaclib) = drate_dT; - - } - rate_p_Fe58_to_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe58_to_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe58_to_Co59_reaclib) = drate_dT; - - } - rate_He4_Fe58_to_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe58_to_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe58_to_Ni62_reaclib) = drate_dT; - - } - rate_n_Co53_to_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co53_to_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co53_to_Co54_reaclib) = drate_dT; - - } - rate_He4_Co53_to_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co53_to_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co53_to_Cu57_reaclib) = drate_dT; - - } - rate_n_Co54_to_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co54_to_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co54_to_Co55_reaclib) = drate_dT; - - } - rate_He4_Co54_to_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co54_to_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co54_to_Cu58_reaclib) = drate_dT; - - } - rate_n_Co55_to_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; - - } - rate_p_Co55_to_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; - - } - rate_He4_Co55_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = drate_dT; - - } - rate_n_Co56_to_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; - - } - rate_p_Co56_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = drate_dT; - - } - rate_He4_Co56_to_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co56_to_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co56_to_Cu60_reaclib) = drate_dT; - - } - rate_n_Co57_to_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co57_to_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co57_to_Co58_reaclib) = drate_dT; - - } - rate_p_Co57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; - - } - rate_He4_Co57_to_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co57_to_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co57_to_Cu61_reaclib) = drate_dT; - - } - rate_n_Co58_to_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co58_to_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co58_to_Co59_reaclib) = drate_dT; - - } - rate_p_Co58_to_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co58_to_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co58_to_Ni59_reaclib) = drate_dT; - - } - rate_He4_Co58_to_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co58_to_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co58_to_Cu62_reaclib) = drate_dT; - - } - rate_p_Co59_to_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co59_to_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co59_to_Ni60_reaclib) = drate_dT; - - } - rate_He4_Co59_to_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co59_to_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co59_to_Cu63_reaclib) = drate_dT; - - } - rate_n_Ni56_to_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_reaclib) = drate_dT; - - } - rate_p_Ni56_to_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni56_to_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni56_to_Cu57_reaclib) = drate_dT; - - } - rate_He4_Ni56_to_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = drate_dT; - - } - rate_n_Ni57_to_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_reaclib) = drate_dT; - - } - rate_p_Ni57_to_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni57_to_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni57_to_Cu58_reaclib) = drate_dT; - - } - rate_He4_Ni57_to_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni57_to_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_Zn61_reaclib) = drate_dT; - - } - rate_n_Ni58_to_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni58_to_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni58_to_Ni59_reaclib) = drate_dT; - - } - rate_p_Ni58_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = drate_dT; - - } - rate_He4_Ni58_to_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni58_to_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_Zn62_reaclib) = drate_dT; - - } - rate_n_Ni59_to_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni59_to_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni59_to_Ni60_reaclib) = drate_dT; - - } - rate_p_Ni59_to_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni59_to_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni59_to_Cu60_reaclib) = drate_dT; - - } - rate_He4_Ni59_to_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni59_to_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_Zn63_reaclib) = drate_dT; - - } - rate_n_Ni60_to_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni60_to_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni60_to_Ni61_reaclib) = drate_dT; - - } - rate_p_Ni60_to_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni60_to_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni60_to_Cu61_reaclib) = drate_dT; - - } - rate_He4_Ni60_to_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni60_to_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_Zn64_reaclib) = drate_dT; - - } - rate_n_Ni61_to_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni61_to_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni61_to_Ni62_reaclib) = drate_dT; - - } - rate_p_Ni61_to_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni61_to_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni61_to_Cu62_reaclib) = drate_dT; - - } - rate_He4_Ni61_to_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni61_to_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_Zn65_reaclib) = drate_dT; - - } - rate_n_Ni62_to_Ni63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni62_to_Ni63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni62_to_Ni63_reaclib) = drate_dT; - - } - rate_p_Ni62_to_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni62_to_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni62_to_Cu63_reaclib) = drate_dT; - - } - rate_He4_Ni62_to_Zn66_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni62_to_Zn66_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_Zn66_reaclib) = drate_dT; - - } - rate_n_Ni63_to_Ni64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni63_to_Ni64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni63_to_Ni64_reaclib) = drate_dT; - - } - rate_p_Ni63_to_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni63_to_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni63_to_Cu64_reaclib) = drate_dT; - - } - rate_p_Ni64_to_Cu65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni64_to_Cu65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni64_to_Cu65_reaclib) = drate_dT; - - } - rate_n_Cu57_to_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu57_to_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu57_to_Cu58_reaclib) = drate_dT; - - } - rate_n_Cu58_to_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu58_to_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu58_to_Cu59_reaclib) = drate_dT; - - } - rate_p_Cu58_to_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu58_to_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu58_to_Zn59_reaclib) = drate_dT; - - } - rate_He4_Cu58_to_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu58_to_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu58_to_Ga62_reaclib) = drate_dT; - - } - rate_n_Cu59_to_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu59_to_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu59_to_Cu60_reaclib) = drate_dT; - - } - rate_p_Cu59_to_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = drate_dT; - - } - rate_He4_Cu59_to_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu59_to_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_Ga63_reaclib) = drate_dT; - - } - rate_n_Cu60_to_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu60_to_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu60_to_Cu61_reaclib) = drate_dT; - - } - rate_p_Cu60_to_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu60_to_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu60_to_Zn61_reaclib) = drate_dT; - - } - rate_He4_Cu60_to_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu60_to_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_Ga64_reaclib) = drate_dT; - - } - rate_n_Cu61_to_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu61_to_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu61_to_Cu62_reaclib) = drate_dT; - - } - rate_p_Cu61_to_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu61_to_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu61_to_Zn62_reaclib) = drate_dT; - - } - rate_n_Cu62_to_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu62_to_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu62_to_Cu63_reaclib) = drate_dT; - - } - rate_p_Cu62_to_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu62_to_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu62_to_Zn63_reaclib) = drate_dT; - - } - rate_n_Cu63_to_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu63_to_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu63_to_Cu64_reaclib) = drate_dT; - - } - rate_p_Cu63_to_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu63_to_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu63_to_Zn64_reaclib) = drate_dT; - - } - rate_n_Cu64_to_Cu65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu64_to_Cu65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu64_to_Cu65_reaclib) = drate_dT; - - } - rate_p_Cu64_to_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu64_to_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu64_to_Zn65_reaclib) = drate_dT; - - } - rate_p_Cu65_to_Zn66_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu65_to_Zn66_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu65_to_Zn66_reaclib) = drate_dT; - - } - rate_n_Zn59_to_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn59_to_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn59_to_Zn60_reaclib) = drate_dT; - - } - rate_He4_Zn59_to_Ge63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn59_to_Ge63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn59_to_Ge63_reaclib) = drate_dT; - - } - rate_n_Zn60_to_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn60_to_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn60_to_Zn61_reaclib) = drate_dT; - - } - rate_He4_Zn60_to_Ge64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn60_to_Ge64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_Ge64_reaclib) = drate_dT; - - } - rate_n_Zn61_to_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn61_to_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn61_to_Zn62_reaclib) = drate_dT; - - } - rate_p_Zn61_to_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn61_to_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn61_to_Ga62_reaclib) = drate_dT; - - } - rate_n_Zn62_to_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn62_to_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn62_to_Zn63_reaclib) = drate_dT; - - } - rate_p_Zn62_to_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn62_to_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn62_to_Ga63_reaclib) = drate_dT; - - } - rate_n_Zn63_to_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn63_to_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn63_to_Zn64_reaclib) = drate_dT; - - } - rate_p_Zn63_to_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn63_to_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn63_to_Ga64_reaclib) = drate_dT; - - } - rate_n_Zn64_to_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn64_to_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn64_to_Zn65_reaclib) = drate_dT; - - } - rate_n_Zn65_to_Zn66_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn65_to_Zn66_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn65_to_Zn66_reaclib) = drate_dT; - - } - rate_n_Ga62_to_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga62_to_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga62_to_Ga63_reaclib) = drate_dT; - - } - rate_p_Ga62_to_Ge63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga62_to_Ge63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga62_to_Ge63_reaclib) = drate_dT; - - } - rate_n_Ga63_to_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga63_to_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga63_to_Ga64_reaclib) = drate_dT; - - } - rate_p_Ga63_to_Ge64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga63_to_Ge64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga63_to_Ge64_reaclib) = drate_dT; - - } - rate_n_Ge63_to_Ge64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ge63_to_Ge64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ge63_to_Ge64_reaclib) = drate_dT; - - } - rate_d_d_to_n_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_d_to_n_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_d_to_n_He3_reaclib) = drate_dT; - - } - rate_n_He3_to_d_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_He3_to_d_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_He3_to_d_d_reaclib) = drate_dT; - - } - rate_d_He3_to_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; - - } - rate_He4_He3_to_p_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He3_to_p_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He3_to_p_Li6_reaclib) = drate_dT; - - } - rate_p_He4_to_d_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He4_to_d_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He4_to_d_He3_reaclib) = drate_dT; - - } - rate_He4_He4_to_n_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_to_n_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_to_n_Be7_reaclib) = drate_dT; - - } - rate_He4_He4_to_p_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_to_p_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_to_p_Li7_reaclib) = drate_dT; - - } - rate_p_Li6_to_He4_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li6_to_He4_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li6_to_He4_He3_reaclib) = drate_dT; - - } - rate_d_Li6_to_n_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Li6_to_n_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Li6_to_n_Be7_reaclib) = drate_dT; - - } - rate_d_Li6_to_p_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Li6_to_p_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Li6_to_p_Li7_reaclib) = drate_dT; - - } - rate_He4_Li6_to_p_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Li6_to_p_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Li6_to_p_Be9_reaclib) = drate_dT; - - } - rate_p_Li7_to_n_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li7_to_n_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li7_to_n_Be7_reaclib) = drate_dT; - - } - rate_p_Li7_to_d_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li7_to_d_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li7_to_d_Li6_reaclib) = drate_dT; - - } - rate_p_Li7_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = drate_dT; - - } - rate_He4_Li7_to_n_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Li7_to_n_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Li7_to_n_B10_reaclib) = drate_dT; - - } - rate_n_Be7_to_p_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Be7_to_p_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Be7_to_p_Li7_reaclib) = drate_dT; - - } - rate_n_Be7_to_d_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Be7_to_d_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Be7_to_d_Li6_reaclib) = drate_dT; - - } - rate_n_Be7_to_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Be7_to_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Be7_to_He4_He4_reaclib) = drate_dT; - - } - rate_He4_Be7_to_p_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Be7_to_p_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Be7_to_p_B10_reaclib) = drate_dT; - - } - rate_p_Be9_to_He4_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be9_to_He4_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be9_to_He4_Li6_reaclib) = drate_dT; - - } - rate_He4_Be9_to_n_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Be9_to_n_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Be9_to_n_C12_reaclib) = drate_dT; - - } - rate_n_B10_to_He4_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_B10_to_He4_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_B10_to_He4_Li7_reaclib) = drate_dT; - - } - rate_p_B10_to_He4_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_B10_to_He4_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_B10_to_He4_Be7_reaclib) = drate_dT; - - } - rate_He4_B10_to_n_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_B10_to_n_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_B10_to_n_N13_reaclib) = drate_dT; - - } - rate_He4_B10_to_p_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_B10_to_p_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_B10_to_p_C13_reaclib) = drate_dT; - - } - rate_He4_B11_to_n_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_B11_to_n_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_B11_to_n_N14_reaclib) = drate_dT; - - } - rate_He4_B11_to_p_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_B11_to_p_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_B11_to_p_C14_reaclib) = drate_dT; - - } - rate_n_C12_to_He4_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_C12_to_He4_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_C12_to_He4_Be9_reaclib) = drate_dT; - - } - rate_He4_C12_to_n_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_n_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_n_O15_reaclib) = drate_dT; - - } - rate_He4_C12_to_p_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C12_to_p_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_reaclib) = drate_dT; - - } - rate_C12_C12_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; - - } - rate_C12_C12_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; - - } - rate_C12_C12_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_C13_to_n_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_n_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_n_N13_reaclib) = drate_dT; - - } - rate_p_C13_to_He4_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C13_to_He4_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C13_to_He4_B10_reaclib) = drate_dT; - - } - rate_d_C13_to_n_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_C13_to_n_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_C13_to_n_N14_reaclib) = drate_dT; - - } - rate_He4_C13_to_n_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C13_to_n_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C13_to_n_O16_reaclib) = drate_dT; - - } - rate_p_C14_to_n_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C14_to_n_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C14_to_n_N14_reaclib) = drate_dT; - - } - rate_p_C14_to_He4_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_C14_to_He4_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_C14_to_He4_B11_reaclib) = drate_dT; - - } - rate_d_C14_to_n_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_C14_to_n_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_C14_to_n_N15_reaclib) = drate_dT; - - } - rate_He4_C14_to_n_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_C14_to_n_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_C14_to_n_O17_reaclib) = drate_dT; - - } - rate_n_N13_to_p_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N13_to_p_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N13_to_p_C13_reaclib) = drate_dT; - - } - rate_n_N13_to_He4_B10_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N13_to_He4_B10_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N13_to_He4_B10_reaclib) = drate_dT; - - } - rate_He4_N13_to_p_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; - - } - rate_n_N14_to_p_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N14_to_p_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N14_to_p_C14_reaclib) = drate_dT; - - } - rate_n_N14_to_d_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N14_to_d_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N14_to_d_C13_reaclib) = drate_dT; - - } - rate_n_N14_to_He4_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N14_to_He4_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N14_to_He4_B11_reaclib) = drate_dT; - - } - rate_p_N14_to_n_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N14_to_n_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N14_to_n_O14_reaclib) = drate_dT; - - } - rate_He4_N14_to_n_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_n_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_n_F17_reaclib) = drate_dT; - - } - rate_He4_N14_to_p_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N14_to_p_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_reaclib) = drate_dT; - - } - rate_n_N15_to_d_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_N15_to_d_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_N15_to_d_C14_reaclib) = drate_dT; - - } - rate_p_N15_to_n_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_n_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_n_O15_reaclib) = drate_dT; - - } - rate_p_N15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_N15_to_n_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_n_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_n_F18_reaclib) = drate_dT; - - } - rate_He4_N15_to_p_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_N15_to_p_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_reaclib) = drate_dT; - - } - rate_n_O14_to_p_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O14_to_p_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O14_to_p_N14_reaclib) = drate_dT; - - } - rate_He4_O14_to_p_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; - - } - rate_n_O15_to_p_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O15_to_p_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O15_to_p_N15_reaclib) = drate_dT; - - } - rate_n_O15_to_He4_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O15_to_He4_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O15_to_He4_C12_reaclib) = drate_dT; - - } - rate_He4_O15_to_n_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_n_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_n_Ne18_reaclib) = drate_dT; - - } - rate_He4_O15_to_p_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O15_to_p_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_reaclib) = drate_dT; - - } - rate_n_O16_to_He4_C13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O16_to_He4_C13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O16_to_He4_C13_reaclib) = drate_dT; - - } - rate_p_O16_to_He4_N13_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O16_to_He4_N13_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_reaclib) = drate_dT; - - } - rate_He4_O16_to_n_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_n_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_n_Ne19_reaclib) = drate_dT; - - } - rate_He4_O16_to_p_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O16_to_p_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_reaclib) = drate_dT; - - } - rate_C12_O16_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; - - } - rate_C12_O16_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_O16_O16_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; - - } - rate_O16_O16_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; - - } - rate_n_O17_to_He4_C14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_O17_to_He4_C14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_O17_to_He4_C14_reaclib) = drate_dT; - - } - rate_p_O17_to_n_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_n_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_n_F17_reaclib) = drate_dT; - - } - rate_p_O17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; - - } - rate_He4_O17_to_n_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O17_to_n_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O17_to_n_Ne20_reaclib) = drate_dT; - - } - rate_p_O18_to_n_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_n_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_n_F18_reaclib) = drate_dT; - - } - rate_p_O18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; - - } - rate_He4_O18_to_n_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_O18_to_n_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_O18_to_n_Ne21_reaclib) = drate_dT; - - } - rate_n_F17_to_p_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F17_to_p_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F17_to_p_O17_reaclib) = drate_dT; - - } - rate_n_F17_to_He4_N14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F17_to_He4_N14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F17_to_He4_N14_reaclib) = drate_dT; - - } - rate_p_F17_to_He4_O14_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F17_to_He4_O14_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_reaclib) = drate_dT; - - } - rate_He4_F17_to_p_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = drate_dT; - - } - rate_n_F18_to_p_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F18_to_p_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F18_to_p_O18_reaclib) = drate_dT; - - } - rate_n_F18_to_He4_N15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_F18_to_He4_N15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_F18_to_He4_N15_reaclib) = drate_dT; - - } - rate_p_F18_to_n_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_n_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_n_Ne18_reaclib) = drate_dT; - - } - rate_p_F18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He4_F18_to_n_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_n_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_n_Na21_reaclib) = drate_dT; - - } - rate_He4_F18_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; - - } - rate_p_F19_to_n_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_n_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_n_Ne19_reaclib) = drate_dT; - - } - rate_p_F19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; - - } - rate_He4_F19_to_n_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_n_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_n_Na22_reaclib) = drate_dT; - - } - rate_He4_F19_to_p_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = drate_dT; - - } - rate_n_Ne18_to_p_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne18_to_p_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne18_to_p_F18_reaclib) = drate_dT; - - } - rate_n_Ne18_to_He4_O15_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne18_to_He4_O15_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne18_to_He4_O15_reaclib) = drate_dT; - - } - rate_He4_Ne18_to_p_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = drate_dT; - - } - rate_n_Ne19_to_p_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne19_to_p_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne19_to_p_F19_reaclib) = drate_dT; - - } - rate_n_Ne19_to_He4_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne19_to_He4_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne19_to_He4_O16_reaclib) = drate_dT; - - } - rate_He4_Ne19_to_p_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; - - } - rate_n_Ne20_to_He4_O17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne20_to_He4_O17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne20_to_He4_O17_reaclib) = drate_dT; - - } - rate_p_Ne20_to_He4_F17_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_n_Mg23_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = drate_dT; - - } - rate_He4_Ne20_to_C12_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_reaclib) = drate_dT; - - } - rate_C12_Ne20_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_Ne20_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_Ne20_to_p_P31_reaclib) = drate_dT; - - } - rate_C12_Ne20_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_C12_Ne20_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_C12_Ne20_to_He4_Si28_reaclib) = drate_dT; - - } - rate_n_Ne21_to_He4_O18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ne21_to_He4_O18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ne21_to_He4_O18_reaclib) = drate_dT; - - } - rate_p_Ne21_to_n_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne21_to_n_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_n_Na21_reaclib) = drate_dT; - - } - rate_p_Ne21_to_He4_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne21_to_He4_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_reaclib) = drate_dT; - - } - rate_He4_Ne21_to_n_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne21_to_n_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne21_to_n_Mg24_reaclib) = drate_dT; - - } - rate_p_Ne22_to_n_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne22_to_n_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne22_to_n_Na22_reaclib) = drate_dT; - - } - rate_p_Ne22_to_He4_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ne22_to_He4_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_reaclib) = drate_dT; - - } - rate_He4_Ne22_to_n_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ne22_to_n_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ne22_to_n_Mg25_reaclib) = drate_dT; - - } - rate_n_Na21_to_p_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na21_to_p_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na21_to_p_Ne21_reaclib) = drate_dT; - - } - rate_n_Na21_to_He4_F18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na21_to_He4_F18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na21_to_He4_F18_reaclib) = drate_dT; - - } - rate_p_Na21_to_He4_Ne18_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_reaclib) = drate_dT; - - } - rate_He4_Na21_to_p_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_reaclib) = drate_dT; - - } - rate_n_Na22_to_p_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na22_to_p_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na22_to_p_Ne22_reaclib) = drate_dT; - - } - rate_n_Na22_to_He4_F19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Na22_to_He4_F19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Na22_to_He4_F19_reaclib) = drate_dT; - - } - rate_p_Na22_to_He4_Ne19_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_reaclib) = drate_dT; - - } - rate_He4_Na22_to_n_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na22_to_n_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na22_to_n_Al25_reaclib) = drate_dT; - - } - rate_He4_Na22_to_p_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na22_to_p_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na22_to_p_Mg25_reaclib) = drate_dT; - - } - rate_p_Na23_to_n_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_n_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_n_Mg23_reaclib) = drate_dT; - - } - rate_p_Na23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_p_Na23_to_C12_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Na23_to_C12_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_reaclib) = drate_dT; - - } - rate_He4_Na23_to_n_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na23_to_n_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na23_to_n_Al26_reaclib) = drate_dT; - - } - rate_He4_Na23_to_p_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Na23_to_p_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Na23_to_p_Mg26_reaclib) = drate_dT; - - } - rate_n_Mg23_to_p_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_p_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_p_Na23_reaclib) = drate_dT; - - } - rate_n_Mg23_to_He4_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_He4_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_He4_Ne20_reaclib) = drate_dT; - - } - rate_n_Mg23_to_C12_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg23_to_C12_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg23_to_C12_C12_reaclib) = drate_dT; - - } - rate_He4_Mg23_to_p_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg23_to_p_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg23_to_p_Al26_reaclib) = drate_dT; - - } - rate_n_Mg24_to_He4_Ne21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg24_to_He4_Ne21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg24_to_He4_Ne21_reaclib) = drate_dT; - - } - rate_p_Mg24_to_He4_Na21_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_p_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = drate_dT; - - } - rate_He4_Mg24_to_C12_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_reaclib) = drate_dT; - - } - rate_n_Mg25_to_He4_Ne22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mg25_to_He4_Ne22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mg25_to_He4_Ne22_reaclib) = drate_dT; - - } - rate_p_Mg25_to_n_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg25_to_n_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg25_to_n_Al25_reaclib) = drate_dT; - - } - rate_p_Mg25_to_He4_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg25_to_He4_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg25_to_He4_Na22_reaclib) = drate_dT; - - } - rate_He4_Mg25_to_n_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg25_to_n_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg25_to_n_Si28_reaclib) = drate_dT; - - } - rate_p_Mg26_to_n_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg26_to_n_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg26_to_n_Al26_reaclib) = drate_dT; - - } - rate_p_Mg26_to_He4_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mg26_to_He4_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mg26_to_He4_Na23_reaclib) = drate_dT; - - } - rate_He4_Mg26_to_n_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mg26_to_n_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mg26_to_n_Si29_reaclib) = drate_dT; - - } - rate_n_Al25_to_p_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al25_to_p_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al25_to_p_Mg25_reaclib) = drate_dT; - - } - rate_n_Al25_to_He4_Na22_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al25_to_He4_Na22_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al25_to_He4_Na22_reaclib) = drate_dT; - - } - rate_He4_Al25_to_p_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al25_to_p_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al25_to_p_Si28_reaclib) = drate_dT; - - } - rate_n_Al26_to_p_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al26_to_p_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al26_to_p_Mg26_reaclib) = drate_dT; - - } - rate_n_Al26_to_He4_Na23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Al26_to_He4_Na23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Al26_to_He4_Na23_reaclib) = drate_dT; - - } - rate_p_Al26_to_He4_Mg23_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al26_to_He4_Mg23_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al26_to_He4_Mg23_reaclib) = drate_dT; - - } - rate_He4_Al26_to_n_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al26_to_n_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al26_to_n_P29_reaclib) = drate_dT; - - } - rate_He4_Al26_to_p_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al26_to_p_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al26_to_p_Si29_reaclib) = drate_dT; - - } - rate_p_Al27_to_He4_Mg24_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; - - } - rate_p_Al27_to_C12_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Al27_to_C12_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_reaclib) = drate_dT; - - } - rate_He4_Al27_to_n_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al27_to_n_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al27_to_n_P30_reaclib) = drate_dT; - - } - rate_He4_Al27_to_p_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Al27_to_p_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Al27_to_p_Si30_reaclib) = drate_dT; - - } - rate_n_Si28_to_He4_Mg25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si28_to_He4_Mg25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si28_to_He4_Mg25_reaclib) = drate_dT; - - } - rate_p_Si28_to_He4_Al25_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si28_to_He4_Al25_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si28_to_He4_Al25_reaclib) = drate_dT; - - } - rate_He4_Si28_to_p_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = drate_dT; - - } - rate_He4_Si28_to_C12_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_C12_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_C12_Ne20_reaclib) = drate_dT; - - } - rate_He4_Si28_to_O16_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si28_to_O16_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_reaclib) = drate_dT; - - } - rate_n_Si29_to_He4_Mg26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Si29_to_He4_Mg26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Si29_to_He4_Mg26_reaclib) = drate_dT; - - } - rate_p_Si29_to_n_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si29_to_n_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si29_to_n_P29_reaclib) = drate_dT; - - } - rate_p_Si29_to_He4_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si29_to_He4_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si29_to_He4_Al26_reaclib) = drate_dT; - - } - rate_He4_Si29_to_n_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si29_to_n_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si29_to_n_S32_reaclib) = drate_dT; - - } - rate_He4_Si29_to_p_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si29_to_p_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si29_to_p_P32_reaclib) = drate_dT; - - } - rate_p_Si30_to_n_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si30_to_n_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si30_to_n_P30_reaclib) = drate_dT; - - } - rate_p_Si30_to_He4_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si30_to_He4_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si30_to_He4_Al27_reaclib) = drate_dT; - - } - rate_He4_Si30_to_n_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si30_to_n_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si30_to_n_S33_reaclib) = drate_dT; - - } - rate_He4_Si30_to_p_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si30_to_p_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si30_to_p_P33_reaclib) = drate_dT; - - } - rate_p_Si31_to_n_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si31_to_n_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si31_to_n_P31_reaclib) = drate_dT; - - } - rate_He4_Si31_to_n_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si31_to_n_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si31_to_n_S34_reaclib) = drate_dT; - - } - rate_p_Si32_to_n_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Si32_to_n_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Si32_to_n_P32_reaclib) = drate_dT; - - } - rate_He4_Si32_to_n_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Si32_to_n_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Si32_to_n_S35_reaclib) = drate_dT; - - } - rate_n_P29_to_p_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P29_to_p_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P29_to_p_Si29_reaclib) = drate_dT; - - } - rate_n_P29_to_He4_Al26_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P29_to_He4_Al26_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P29_to_He4_Al26_reaclib) = drate_dT; - - } - rate_He4_P29_to_p_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P29_to_p_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P29_to_p_S32_reaclib) = drate_dT; - - } - rate_n_P30_to_p_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P30_to_p_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P30_to_p_Si30_reaclib) = drate_dT; - - } - rate_n_P30_to_He4_Al27_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P30_to_He4_Al27_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P30_to_He4_Al27_reaclib) = drate_dT; - - } - rate_He4_P30_to_n_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P30_to_n_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P30_to_n_Cl33_reaclib) = drate_dT; - - } - rate_He4_P30_to_p_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P30_to_p_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P30_to_p_S33_reaclib) = drate_dT; - - } - rate_n_P31_to_p_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P31_to_p_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P31_to_p_Si31_reaclib) = drate_dT; - - } - rate_p_P31_to_He4_Si28_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; - - } - rate_p_P31_to_C12_Ne20_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_C12_Ne20_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_C12_Ne20_reaclib) = drate_dT; - - } - rate_p_P31_to_O16_O16_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P31_to_O16_O16_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_reaclib) = drate_dT; - - } - rate_He4_P31_to_n_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P31_to_n_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P31_to_n_Cl34_reaclib) = drate_dT; - - } - rate_He4_P31_to_p_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P31_to_p_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P31_to_p_S34_reaclib) = drate_dT; - - } - rate_n_P32_to_p_Si32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_P32_to_p_Si32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_P32_to_p_Si32_reaclib) = drate_dT; - - } - rate_p_P32_to_n_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P32_to_n_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P32_to_n_S32_reaclib) = drate_dT; - - } - rate_p_P32_to_He4_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P32_to_He4_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P32_to_He4_Si29_reaclib) = drate_dT; - - } - rate_He4_P32_to_n_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P32_to_n_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P32_to_n_Cl35_reaclib) = drate_dT; - - } - rate_He4_P32_to_p_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P32_to_p_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P32_to_p_S35_reaclib) = drate_dT; - - } - rate_p_P33_to_n_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P33_to_n_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P33_to_n_S33_reaclib) = drate_dT; - - } - rate_p_P33_to_He4_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_P33_to_He4_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_P33_to_He4_Si30_reaclib) = drate_dT; - - } - rate_He4_P33_to_n_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P33_to_n_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P33_to_n_Cl36_reaclib) = drate_dT; - - } - rate_He4_P33_to_p_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_P33_to_p_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_P33_to_p_S36_reaclib) = drate_dT; - - } - rate_n_S32_to_p_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S32_to_p_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S32_to_p_P32_reaclib) = drate_dT; - - } - rate_n_S32_to_He4_Si29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S32_to_He4_Si29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S32_to_He4_Si29_reaclib) = drate_dT; - - } - rate_p_S32_to_He4_P29_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S32_to_He4_P29_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S32_to_He4_P29_reaclib) = drate_dT; - - } - rate_He4_S32_to_p_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S32_to_p_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_reaclib) = drate_dT; - - } - rate_n_S33_to_p_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S33_to_p_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S33_to_p_P33_reaclib) = drate_dT; - - } - rate_n_S33_to_He4_Si30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S33_to_He4_Si30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S33_to_He4_Si30_reaclib) = drate_dT; - - } - rate_p_S33_to_n_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S33_to_n_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S33_to_n_Cl33_reaclib) = drate_dT; - - } - rate_p_S33_to_He4_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S33_to_He4_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S33_to_He4_P30_reaclib) = drate_dT; - - } - rate_He4_S33_to_n_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S33_to_n_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S33_to_n_Ar36_reaclib) = drate_dT; - - } - rate_He4_S33_to_p_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S33_to_p_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S33_to_p_Cl36_reaclib) = drate_dT; - - } - rate_n_S34_to_He4_Si31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S34_to_He4_Si31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S34_to_He4_Si31_reaclib) = drate_dT; - - } - rate_p_S34_to_n_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S34_to_n_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S34_to_n_Cl34_reaclib) = drate_dT; - - } - rate_p_S34_to_He4_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S34_to_He4_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S34_to_He4_P31_reaclib) = drate_dT; - - } - rate_He4_S34_to_n_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S34_to_n_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S34_to_n_Ar37_reaclib) = drate_dT; - - } - rate_He4_S34_to_p_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S34_to_p_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S34_to_p_Cl37_reaclib) = drate_dT; - - } - rate_n_S35_to_He4_Si32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_S35_to_He4_Si32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_S35_to_He4_Si32_reaclib) = drate_dT; - - } - rate_p_S35_to_n_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S35_to_n_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S35_to_n_Cl35_reaclib) = drate_dT; - - } - rate_p_S35_to_He4_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S35_to_He4_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S35_to_He4_P32_reaclib) = drate_dT; - - } - rate_He4_S35_to_n_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S35_to_n_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S35_to_n_Ar38_reaclib) = drate_dT; - - } - rate_p_S36_to_n_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S36_to_n_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S36_to_n_Cl36_reaclib) = drate_dT; - - } - rate_p_S36_to_He4_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_S36_to_He4_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_S36_to_He4_P33_reaclib) = drate_dT; - - } - rate_He4_S36_to_n_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_S36_to_n_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_S36_to_n_Ar39_reaclib) = drate_dT; - - } - rate_n_Cl33_to_p_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl33_to_p_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl33_to_p_S33_reaclib) = drate_dT; - - } - rate_n_Cl33_to_He4_P30_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl33_to_He4_P30_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl33_to_He4_P30_reaclib) = drate_dT; - - } - rate_He4_Cl33_to_p_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl33_to_p_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl33_to_p_Ar36_reaclib) = drate_dT; - - } - rate_n_Cl34_to_p_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl34_to_p_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl34_to_p_S34_reaclib) = drate_dT; - - } - rate_n_Cl34_to_He4_P31_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl34_to_He4_P31_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl34_to_He4_P31_reaclib) = drate_dT; - - } - rate_He4_Cl34_to_n_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl34_to_n_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_n_K37_reaclib) = drate_dT; - - } - rate_He4_Cl34_to_p_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl34_to_p_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl34_to_p_Ar37_reaclib) = drate_dT; - - } - rate_n_Cl35_to_p_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl35_to_p_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl35_to_p_S35_reaclib) = drate_dT; - - } - rate_n_Cl35_to_He4_P32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl35_to_He4_P32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl35_to_He4_P32_reaclib) = drate_dT; - - } - rate_p_Cl35_to_He4_S32_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl35_to_He4_S32_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_reaclib) = drate_dT; - - } - rate_He4_Cl35_to_n_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl35_to_n_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_n_K38_reaclib) = drate_dT; - - } - rate_He4_Cl35_to_p_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl35_to_p_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl35_to_p_Ar38_reaclib) = drate_dT; - - } - rate_n_Cl36_to_p_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl36_to_p_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl36_to_p_S36_reaclib) = drate_dT; - - } - rate_n_Cl36_to_He4_P33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cl36_to_He4_P33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cl36_to_He4_P33_reaclib) = drate_dT; - - } - rate_p_Cl36_to_n_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl36_to_n_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl36_to_n_Ar36_reaclib) = drate_dT; - - } - rate_p_Cl36_to_He4_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl36_to_He4_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl36_to_He4_S33_reaclib) = drate_dT; - - } - rate_He4_Cl36_to_n_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl36_to_n_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_n_K39_reaclib) = drate_dT; - - } - rate_He4_Cl36_to_p_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl36_to_p_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl36_to_p_Ar39_reaclib) = drate_dT; - - } - rate_p_Cl37_to_n_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl37_to_n_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl37_to_n_Ar37_reaclib) = drate_dT; - - } - rate_p_Cl37_to_He4_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cl37_to_He4_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cl37_to_He4_S34_reaclib) = drate_dT; - - } - rate_He4_Cl37_to_n_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl37_to_n_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_n_K40_reaclib) = drate_dT; - - } - rate_He4_Cl37_to_p_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cl37_to_p_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cl37_to_p_Ar40_reaclib) = drate_dT; - - } - rate_n_Ar36_to_p_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar36_to_p_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar36_to_p_Cl36_reaclib) = drate_dT; - - } - rate_n_Ar36_to_He4_S33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar36_to_He4_S33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar36_to_He4_S33_reaclib) = drate_dT; - - } - rate_p_Ar36_to_He4_Cl33_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar36_to_He4_Cl33_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar36_to_He4_Cl33_reaclib) = drate_dT; - - } - rate_He4_Ar36_to_p_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar36_to_p_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_reaclib) = drate_dT; - - } - rate_n_Ar37_to_p_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar37_to_p_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar37_to_p_Cl37_reaclib) = drate_dT; - - } - rate_n_Ar37_to_He4_S34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar37_to_He4_S34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar37_to_He4_S34_reaclib) = drate_dT; - - } - rate_p_Ar37_to_n_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar37_to_n_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar37_to_n_K37_reaclib) = drate_dT; - - } - rate_p_Ar37_to_He4_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar37_to_He4_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar37_to_He4_Cl34_reaclib) = drate_dT; - - } - rate_He4_Ar37_to_n_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar37_to_n_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_n_Ca40_reaclib) = drate_dT; - - } - rate_He4_Ar37_to_p_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar37_to_p_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar37_to_p_K40_reaclib) = drate_dT; - - } - rate_n_Ar38_to_He4_S35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar38_to_He4_S35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar38_to_He4_S35_reaclib) = drate_dT; - - } - rate_p_Ar38_to_n_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar38_to_n_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar38_to_n_K38_reaclib) = drate_dT; - - } - rate_p_Ar38_to_He4_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar38_to_He4_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar38_to_He4_Cl35_reaclib) = drate_dT; - - } - rate_He4_Ar38_to_n_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar38_to_n_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_n_Ca41_reaclib) = drate_dT; - - } - rate_He4_Ar38_to_p_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar38_to_p_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar38_to_p_K41_reaclib) = drate_dT; - - } - rate_n_Ar39_to_He4_S36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ar39_to_He4_S36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ar39_to_He4_S36_reaclib) = drate_dT; - - } - rate_p_Ar39_to_n_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar39_to_n_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar39_to_n_K39_reaclib) = drate_dT; - - } - rate_p_Ar39_to_He4_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar39_to_He4_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar39_to_He4_Cl36_reaclib) = drate_dT; - - } - rate_He4_Ar39_to_n_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar39_to_n_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar39_to_n_Ca42_reaclib) = drate_dT; - - } - rate_p_Ar40_to_n_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar40_to_n_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar40_to_n_K40_reaclib) = drate_dT; - - } - rate_p_Ar40_to_He4_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ar40_to_He4_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ar40_to_He4_Cl37_reaclib) = drate_dT; - - } - rate_He4_Ar40_to_n_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ar40_to_n_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ar40_to_n_Ca43_reaclib) = drate_dT; - - } - rate_n_K37_to_p_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K37_to_p_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K37_to_p_Ar37_reaclib) = drate_dT; - - } - rate_n_K37_to_He4_Cl34_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K37_to_He4_Cl34_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K37_to_He4_Cl34_reaclib) = drate_dT; - - } - rate_He4_K37_to_p_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K37_to_p_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K37_to_p_Ca40_reaclib) = drate_dT; - - } - rate_n_K38_to_p_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K38_to_p_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K38_to_p_Ar38_reaclib) = drate_dT; - - } - rate_n_K38_to_He4_Cl35_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K38_to_He4_Cl35_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K38_to_He4_Cl35_reaclib) = drate_dT; - - } - rate_He4_K38_to_p_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K38_to_p_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K38_to_p_Ca41_reaclib) = drate_dT; - - } - rate_n_K39_to_p_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K39_to_p_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K39_to_p_Ar39_reaclib) = drate_dT; - - } - rate_n_K39_to_He4_Cl36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K39_to_He4_Cl36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K39_to_He4_Cl36_reaclib) = drate_dT; - - } - rate_p_K39_to_He4_Ar36_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K39_to_He4_Ar36_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_reaclib) = drate_dT; - - } - rate_He4_K39_to_p_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K39_to_p_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K39_to_p_Ca42_reaclib) = drate_dT; - - } - rate_n_K40_to_p_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K40_to_p_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K40_to_p_Ar40_reaclib) = drate_dT; - - } - rate_n_K40_to_He4_Cl37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_K40_to_He4_Cl37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_K40_to_He4_Cl37_reaclib) = drate_dT; - - } - rate_p_K40_to_n_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K40_to_n_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K40_to_n_Ca40_reaclib) = drate_dT; - - } - rate_p_K40_to_He4_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K40_to_He4_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K40_to_He4_Ar37_reaclib) = drate_dT; - - } - rate_He4_K40_to_n_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K40_to_n_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K40_to_n_Sc43_reaclib) = drate_dT; - - } - rate_He4_K40_to_p_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K40_to_p_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K40_to_p_Ca43_reaclib) = drate_dT; - - } - rate_p_K41_to_n_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K41_to_n_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K41_to_n_Ca41_reaclib) = drate_dT; - - } - rate_p_K41_to_He4_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_K41_to_He4_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_K41_to_He4_Ar38_reaclib) = drate_dT; - - } - rate_He4_K41_to_n_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K41_to_n_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K41_to_n_Sc44_reaclib) = drate_dT; - - } - rate_He4_K41_to_p_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_K41_to_p_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_K41_to_p_Ca44_reaclib) = drate_dT; - - } - rate_n_Ca40_to_p_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca40_to_p_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca40_to_p_K40_reaclib) = drate_dT; - - } - rate_n_Ca40_to_He4_Ar37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca40_to_He4_Ar37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca40_to_He4_Ar37_reaclib) = drate_dT; - - } - rate_p_Ca40_to_He4_K37_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca40_to_He4_K37_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca40_to_He4_K37_reaclib) = drate_dT; - - } - rate_He4_Ca40_to_p_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_reaclib) = drate_dT; - - } - rate_n_Ca41_to_p_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca41_to_p_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca41_to_p_K41_reaclib) = drate_dT; - - } - rate_n_Ca41_to_He4_Ar38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca41_to_He4_Ar38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca41_to_He4_Ar38_reaclib) = drate_dT; - - } - rate_p_Ca41_to_He4_K38_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca41_to_He4_K38_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca41_to_He4_K38_reaclib) = drate_dT; - - } - rate_He4_Ca41_to_n_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca41_to_n_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_n_Ti44_reaclib) = drate_dT; - - } - rate_He4_Ca41_to_p_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca41_to_p_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca41_to_p_Sc44_reaclib) = drate_dT; - - } - rate_n_Ca42_to_He4_Ar39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca42_to_He4_Ar39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca42_to_He4_Ar39_reaclib) = drate_dT; - - } - rate_p_Ca42_to_He4_K39_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca42_to_He4_K39_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca42_to_He4_K39_reaclib) = drate_dT; - - } - rate_He4_Ca42_to_n_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca42_to_n_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_n_Ti45_reaclib) = drate_dT; - - } - rate_He4_Ca42_to_p_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca42_to_p_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca42_to_p_Sc45_reaclib) = drate_dT; - - } - rate_n_Ca43_to_He4_Ar40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ca43_to_He4_Ar40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ca43_to_He4_Ar40_reaclib) = drate_dT; - - } - rate_p_Ca43_to_n_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca43_to_n_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca43_to_n_Sc43_reaclib) = drate_dT; - - } - rate_p_Ca43_to_He4_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca43_to_He4_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca43_to_He4_K40_reaclib) = drate_dT; - - } - rate_He4_Ca43_to_n_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca43_to_n_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_n_Ti46_reaclib) = drate_dT; - - } - rate_He4_Ca43_to_p_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca43_to_p_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca43_to_p_Sc46_reaclib) = drate_dT; - - } - rate_p_Ca44_to_n_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca44_to_n_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca44_to_n_Sc44_reaclib) = drate_dT; - - } - rate_p_Ca44_to_He4_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca44_to_He4_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca44_to_He4_K41_reaclib) = drate_dT; - - } - rate_He4_Ca44_to_n_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca44_to_n_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_n_Ti47_reaclib) = drate_dT; - - } - rate_He4_Ca44_to_p_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca44_to_p_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca44_to_p_Sc47_reaclib) = drate_dT; - - } - rate_p_Ca45_to_n_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca45_to_n_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca45_to_n_Sc45_reaclib) = drate_dT; - - } - rate_He4_Ca45_to_n_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca45_to_n_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_n_Ti48_reaclib) = drate_dT; - - } - rate_He4_Ca45_to_p_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca45_to_p_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca45_to_p_Sc48_reaclib) = drate_dT; - - } - rate_p_Ca46_to_n_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca46_to_n_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca46_to_n_Sc46_reaclib) = drate_dT; - - } - rate_He4_Ca46_to_n_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca46_to_n_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_n_Ti49_reaclib) = drate_dT; - - } - rate_He4_Ca46_to_p_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca46_to_p_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca46_to_p_Sc49_reaclib) = drate_dT; - - } - rate_p_Ca47_to_n_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca47_to_n_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca47_to_n_Sc47_reaclib) = drate_dT; - - } - rate_He4_Ca47_to_n_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca47_to_n_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca47_to_n_Ti50_reaclib) = drate_dT; - - } - rate_p_Ca48_to_n_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ca48_to_n_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ca48_to_n_Sc48_reaclib) = drate_dT; - - } - rate_He4_Ca48_to_n_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ca48_to_n_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ca48_to_n_Ti51_reaclib) = drate_dT; - - } - rate_n_Sc43_to_p_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc43_to_p_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc43_to_p_Ca43_reaclib) = drate_dT; - - } - rate_n_Sc43_to_He4_K40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc43_to_He4_K40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc43_to_He4_K40_reaclib) = drate_dT; - - } - rate_p_Sc43_to_He4_Ca40_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_reaclib) = drate_dT; - - } - rate_He4_Sc43_to_n_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc43_to_n_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_n_V46_reaclib) = drate_dT; - - } - rate_He4_Sc43_to_p_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc43_to_p_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc43_to_p_Ti46_reaclib) = drate_dT; - - } - rate_n_Sc44_to_p_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc44_to_p_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc44_to_p_Ca44_reaclib) = drate_dT; - - } - rate_n_Sc44_to_He4_K41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc44_to_He4_K41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc44_to_He4_K41_reaclib) = drate_dT; - - } - rate_p_Sc44_to_n_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc44_to_n_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc44_to_n_Ti44_reaclib) = drate_dT; - - } - rate_p_Sc44_to_He4_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc44_to_He4_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc44_to_He4_Ca41_reaclib) = drate_dT; - - } - rate_He4_Sc44_to_n_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc44_to_n_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_n_V47_reaclib) = drate_dT; - - } - rate_He4_Sc44_to_p_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc44_to_p_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc44_to_p_Ti47_reaclib) = drate_dT; - - } - rate_n_Sc45_to_p_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc45_to_p_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc45_to_p_Ca45_reaclib) = drate_dT; - - } - rate_p_Sc45_to_n_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc45_to_n_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc45_to_n_Ti45_reaclib) = drate_dT; - - } - rate_p_Sc45_to_He4_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc45_to_He4_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc45_to_He4_Ca42_reaclib) = drate_dT; - - } - rate_He4_Sc45_to_n_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc45_to_n_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_n_V48_reaclib) = drate_dT; - - } - rate_He4_Sc45_to_p_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc45_to_p_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc45_to_p_Ti48_reaclib) = drate_dT; - - } - rate_n_Sc46_to_p_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc46_to_p_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc46_to_p_Ca46_reaclib) = drate_dT; - - } - rate_p_Sc46_to_n_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc46_to_n_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc46_to_n_Ti46_reaclib) = drate_dT; - - } - rate_p_Sc46_to_He4_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc46_to_He4_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc46_to_He4_Ca43_reaclib) = drate_dT; - - } - rate_He4_Sc46_to_n_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc46_to_n_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_n_V49_reaclib) = drate_dT; - - } - rate_He4_Sc46_to_p_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc46_to_p_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc46_to_p_Ti49_reaclib) = drate_dT; - - } - rate_n_Sc47_to_p_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc47_to_p_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc47_to_p_Ca47_reaclib) = drate_dT; - - } - rate_p_Sc47_to_n_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc47_to_n_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc47_to_n_Ti47_reaclib) = drate_dT; - - } - rate_p_Sc47_to_He4_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc47_to_He4_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc47_to_He4_Ca44_reaclib) = drate_dT; - - } - rate_He4_Sc47_to_n_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc47_to_n_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_n_V50_reaclib) = drate_dT; - - } - rate_He4_Sc47_to_p_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc47_to_p_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc47_to_p_Ti50_reaclib) = drate_dT; - - } - rate_n_Sc48_to_p_Ca48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Sc48_to_p_Ca48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Sc48_to_p_Ca48_reaclib) = drate_dT; - - } - rate_p_Sc48_to_n_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc48_to_n_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc48_to_n_Ti48_reaclib) = drate_dT; - - } - rate_p_Sc48_to_He4_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc48_to_He4_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc48_to_He4_Ca45_reaclib) = drate_dT; - - } - rate_He4_Sc48_to_n_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc48_to_n_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_n_V51_reaclib) = drate_dT; - - } - rate_He4_Sc48_to_p_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc48_to_p_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc48_to_p_Ti51_reaclib) = drate_dT; - - } - rate_p_Sc49_to_n_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc49_to_n_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc49_to_n_Ti49_reaclib) = drate_dT; - - } - rate_p_Sc49_to_He4_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Sc49_to_He4_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Sc49_to_He4_Ca46_reaclib) = drate_dT; - - } - rate_He4_Sc49_to_n_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Sc49_to_n_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Sc49_to_n_V52_reaclib) = drate_dT; - - } - rate_n_Ti44_to_p_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti44_to_p_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti44_to_p_Sc44_reaclib) = drate_dT; - - } - rate_n_Ti44_to_He4_Ca41_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti44_to_He4_Ca41_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti44_to_He4_Ca41_reaclib) = drate_dT; - - } - rate_He4_Ti44_to_p_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti44_to_p_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_reaclib) = drate_dT; - - } - rate_n_Ti45_to_p_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti45_to_p_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti45_to_p_Sc45_reaclib) = drate_dT; - - } - rate_n_Ti45_to_He4_Ca42_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti45_to_He4_Ca42_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti45_to_He4_Ca42_reaclib) = drate_dT; - - } - rate_He4_Ti45_to_n_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti45_to_n_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_n_Cr48_reaclib) = drate_dT; - - } - rate_He4_Ti45_to_p_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti45_to_p_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti45_to_p_V48_reaclib) = drate_dT; - - } - rate_n_Ti46_to_p_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti46_to_p_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti46_to_p_Sc46_reaclib) = drate_dT; - - } - rate_n_Ti46_to_He4_Ca43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti46_to_He4_Ca43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti46_to_He4_Ca43_reaclib) = drate_dT; - - } - rate_p_Ti46_to_n_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti46_to_n_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti46_to_n_V46_reaclib) = drate_dT; - - } - rate_p_Ti46_to_He4_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti46_to_He4_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti46_to_He4_Sc43_reaclib) = drate_dT; - - } - rate_He4_Ti46_to_n_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti46_to_n_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_n_Cr49_reaclib) = drate_dT; - - } - rate_He4_Ti46_to_p_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti46_to_p_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti46_to_p_V49_reaclib) = drate_dT; - - } - rate_n_Ti47_to_p_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti47_to_p_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti47_to_p_Sc47_reaclib) = drate_dT; - - } - rate_n_Ti47_to_He4_Ca44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti47_to_He4_Ca44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti47_to_He4_Ca44_reaclib) = drate_dT; - - } - rate_p_Ti47_to_n_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti47_to_n_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti47_to_n_V47_reaclib) = drate_dT; - - } - rate_p_Ti47_to_He4_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti47_to_He4_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti47_to_He4_Sc44_reaclib) = drate_dT; - - } - rate_He4_Ti47_to_n_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti47_to_n_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_n_Cr50_reaclib) = drate_dT; - - } - rate_He4_Ti47_to_p_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti47_to_p_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti47_to_p_V50_reaclib) = drate_dT; - - } - rate_n_Ti48_to_p_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti48_to_p_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti48_to_p_Sc48_reaclib) = drate_dT; - - } - rate_n_Ti48_to_He4_Ca45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti48_to_He4_Ca45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti48_to_He4_Ca45_reaclib) = drate_dT; - - } - rate_p_Ti48_to_n_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti48_to_n_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti48_to_n_V48_reaclib) = drate_dT; - - } - rate_p_Ti48_to_He4_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti48_to_He4_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti48_to_He4_Sc45_reaclib) = drate_dT; - - } - rate_He4_Ti48_to_n_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti48_to_n_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_n_Cr51_reaclib) = drate_dT; - - } - rate_He4_Ti48_to_p_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti48_to_p_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti48_to_p_V51_reaclib) = drate_dT; - - } - rate_n_Ti49_to_p_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti49_to_p_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti49_to_p_Sc49_reaclib) = drate_dT; - - } - rate_n_Ti49_to_He4_Ca46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti49_to_He4_Ca46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti49_to_He4_Ca46_reaclib) = drate_dT; - - } - rate_p_Ti49_to_n_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti49_to_n_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti49_to_n_V49_reaclib) = drate_dT; - - } - rate_p_Ti49_to_He4_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti49_to_He4_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti49_to_He4_Sc46_reaclib) = drate_dT; - - } - rate_He4_Ti49_to_n_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti49_to_n_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_n_Cr52_reaclib) = drate_dT; - - } - rate_He4_Ti49_to_p_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti49_to_p_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti49_to_p_V52_reaclib) = drate_dT; - - } - rate_n_Ti50_to_He4_Ca47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti50_to_He4_Ca47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti50_to_He4_Ca47_reaclib) = drate_dT; - - } - rate_p_Ti50_to_n_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti50_to_n_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti50_to_n_V50_reaclib) = drate_dT; - - } - rate_p_Ti50_to_He4_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti50_to_He4_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti50_to_He4_Sc47_reaclib) = drate_dT; - - } - rate_He4_Ti50_to_n_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti50_to_n_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti50_to_n_Cr53_reaclib) = drate_dT; - - } - rate_n_Ti51_to_He4_Ca48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ti51_to_He4_Ca48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ti51_to_He4_Ca48_reaclib) = drate_dT; - - } - rate_p_Ti51_to_n_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti51_to_n_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti51_to_n_V51_reaclib) = drate_dT; - - } - rate_p_Ti51_to_He4_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ti51_to_He4_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ti51_to_He4_Sc48_reaclib) = drate_dT; - - } - rate_He4_Ti51_to_n_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ti51_to_n_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ti51_to_n_Cr54_reaclib) = drate_dT; - - } - rate_n_V46_to_p_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V46_to_p_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V46_to_p_Ti46_reaclib) = drate_dT; - - } - rate_n_V46_to_He4_Sc43_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V46_to_He4_Sc43_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V46_to_He4_Sc43_reaclib) = drate_dT; - - } - rate_He4_V46_to_p_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V46_to_p_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V46_to_p_Cr49_reaclib) = drate_dT; - - } - rate_n_V47_to_p_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V47_to_p_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V47_to_p_Ti47_reaclib) = drate_dT; - - } - rate_n_V47_to_He4_Sc44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V47_to_He4_Sc44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V47_to_He4_Sc44_reaclib) = drate_dT; - - } - rate_p_V47_to_He4_Ti44_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V47_to_He4_Ti44_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_reaclib) = drate_dT; - - } - rate_He4_V47_to_n_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V47_to_n_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V47_to_n_Mn50_reaclib) = drate_dT; - - } - rate_He4_V47_to_p_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V47_to_p_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V47_to_p_Cr50_reaclib) = drate_dT; - - } - rate_n_V48_to_p_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V48_to_p_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V48_to_p_Ti48_reaclib) = drate_dT; - - } - rate_n_V48_to_He4_Sc45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V48_to_He4_Sc45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V48_to_He4_Sc45_reaclib) = drate_dT; - - } - rate_p_V48_to_n_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V48_to_n_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V48_to_n_Cr48_reaclib) = drate_dT; - - } - rate_p_V48_to_He4_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V48_to_He4_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V48_to_He4_Ti45_reaclib) = drate_dT; - - } - rate_He4_V48_to_n_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V48_to_n_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V48_to_n_Mn51_reaclib) = drate_dT; - - } - rate_He4_V48_to_p_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V48_to_p_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V48_to_p_Cr51_reaclib) = drate_dT; - - } - rate_n_V49_to_p_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V49_to_p_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V49_to_p_Ti49_reaclib) = drate_dT; - - } - rate_n_V49_to_He4_Sc46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V49_to_He4_Sc46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V49_to_He4_Sc46_reaclib) = drate_dT; - - } - rate_p_V49_to_n_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V49_to_n_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V49_to_n_Cr49_reaclib) = drate_dT; - - } - rate_p_V49_to_He4_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V49_to_He4_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V49_to_He4_Ti46_reaclib) = drate_dT; - - } - rate_He4_V49_to_n_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V49_to_n_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V49_to_n_Mn52_reaclib) = drate_dT; - - } - rate_He4_V49_to_p_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V49_to_p_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V49_to_p_Cr52_reaclib) = drate_dT; - - } - rate_n_V50_to_p_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V50_to_p_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V50_to_p_Ti50_reaclib) = drate_dT; - - } - rate_n_V50_to_He4_Sc47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V50_to_He4_Sc47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V50_to_He4_Sc47_reaclib) = drate_dT; - - } - rate_p_V50_to_n_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V50_to_n_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V50_to_n_Cr50_reaclib) = drate_dT; - - } - rate_p_V50_to_He4_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V50_to_He4_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V50_to_He4_Ti47_reaclib) = drate_dT; - - } - rate_He4_V50_to_n_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V50_to_n_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V50_to_n_Mn53_reaclib) = drate_dT; - - } - rate_He4_V50_to_p_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V50_to_p_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V50_to_p_Cr53_reaclib) = drate_dT; - - } - rate_n_V51_to_p_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V51_to_p_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V51_to_p_Ti51_reaclib) = drate_dT; - - } - rate_n_V51_to_He4_Sc48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V51_to_He4_Sc48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V51_to_He4_Sc48_reaclib) = drate_dT; - - } - rate_p_V51_to_n_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V51_to_n_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V51_to_n_Cr51_reaclib) = drate_dT; - - } - rate_p_V51_to_He4_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V51_to_He4_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V51_to_He4_Ti48_reaclib) = drate_dT; - - } - rate_He4_V51_to_n_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V51_to_n_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V51_to_n_Mn54_reaclib) = drate_dT; - - } - rate_He4_V51_to_p_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V51_to_p_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V51_to_p_Cr54_reaclib) = drate_dT; - - } - rate_n_V52_to_He4_Sc49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_V52_to_He4_Sc49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_V52_to_He4_Sc49_reaclib) = drate_dT; - - } - rate_p_V52_to_n_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V52_to_n_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V52_to_n_Cr52_reaclib) = drate_dT; - - } - rate_p_V52_to_He4_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_V52_to_He4_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_V52_to_He4_Ti49_reaclib) = drate_dT; - - } - rate_He4_V52_to_n_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_V52_to_n_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_V52_to_n_Mn55_reaclib) = drate_dT; - - } - rate_n_Cr48_to_p_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr48_to_p_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr48_to_p_V48_reaclib) = drate_dT; - - } - rate_n_Cr48_to_He4_Ti45_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr48_to_He4_Ti45_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr48_to_He4_Ti45_reaclib) = drate_dT; - - } - rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; - - } - rate_n_Cr49_to_p_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr49_to_p_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr49_to_p_V49_reaclib) = drate_dT; - - } - rate_n_Cr49_to_He4_Ti46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr49_to_He4_Ti46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr49_to_He4_Ti46_reaclib) = drate_dT; - - } - rate_p_Cr49_to_He4_V46_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr49_to_He4_V46_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr49_to_He4_V46_reaclib) = drate_dT; - - } - rate_He4_Cr49_to_n_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr49_to_n_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_n_Fe52_reaclib) = drate_dT; - - } - rate_He4_Cr49_to_p_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr49_to_p_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr49_to_p_Mn52_reaclib) = drate_dT; - - } - rate_n_Cr50_to_p_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr50_to_p_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr50_to_p_V50_reaclib) = drate_dT; - - } - rate_n_Cr50_to_He4_Ti47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr50_to_He4_Ti47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr50_to_He4_Ti47_reaclib) = drate_dT; - - } - rate_p_Cr50_to_n_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr50_to_n_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr50_to_n_Mn50_reaclib) = drate_dT; - - } - rate_p_Cr50_to_He4_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr50_to_He4_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr50_to_He4_V47_reaclib) = drate_dT; - - } - rate_He4_Cr50_to_n_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr50_to_n_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_n_Fe53_reaclib) = drate_dT; - - } - rate_He4_Cr50_to_p_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr50_to_p_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr50_to_p_Mn53_reaclib) = drate_dT; - - } - rate_n_Cr51_to_p_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr51_to_p_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr51_to_p_V51_reaclib) = drate_dT; - - } - rate_n_Cr51_to_He4_Ti48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr51_to_He4_Ti48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr51_to_He4_Ti48_reaclib) = drate_dT; - - } - rate_p_Cr51_to_n_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr51_to_n_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr51_to_n_Mn51_reaclib) = drate_dT; - - } - rate_p_Cr51_to_He4_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr51_to_He4_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr51_to_He4_V48_reaclib) = drate_dT; - - } - rate_He4_Cr51_to_n_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr51_to_n_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_n_Fe54_reaclib) = drate_dT; - - } - rate_He4_Cr51_to_p_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr51_to_p_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr51_to_p_Mn54_reaclib) = drate_dT; - - } - rate_n_Cr52_to_p_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr52_to_p_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr52_to_p_V52_reaclib) = drate_dT; - - } - rate_n_Cr52_to_He4_Ti49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr52_to_He4_Ti49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr52_to_He4_Ti49_reaclib) = drate_dT; - - } - rate_p_Cr52_to_n_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr52_to_n_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr52_to_n_Mn52_reaclib) = drate_dT; - - } - rate_p_Cr52_to_He4_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr52_to_He4_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr52_to_He4_V49_reaclib) = drate_dT; - - } - rate_He4_Cr52_to_n_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr52_to_n_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_n_Fe55_reaclib) = drate_dT; - - } - rate_He4_Cr52_to_p_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr52_to_p_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr52_to_p_Mn55_reaclib) = drate_dT; - - } - rate_n_Cr53_to_He4_Ti50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr53_to_He4_Ti50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr53_to_He4_Ti50_reaclib) = drate_dT; - - } - rate_p_Cr53_to_n_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr53_to_n_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr53_to_n_Mn53_reaclib) = drate_dT; - - } - rate_p_Cr53_to_He4_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr53_to_He4_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr53_to_He4_V50_reaclib) = drate_dT; - - } - rate_He4_Cr53_to_n_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr53_to_n_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr53_to_n_Fe56_reaclib) = drate_dT; - - } - rate_n_Cr54_to_He4_Ti51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cr54_to_He4_Ti51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cr54_to_He4_Ti51_reaclib) = drate_dT; - - } - rate_p_Cr54_to_n_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr54_to_n_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr54_to_n_Mn54_reaclib) = drate_dT; - - } - rate_p_Cr54_to_He4_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cr54_to_He4_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cr54_to_He4_V51_reaclib) = drate_dT; - - } - rate_He4_Cr54_to_n_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cr54_to_n_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cr54_to_n_Fe57_reaclib) = drate_dT; - - } - rate_n_Mn50_to_p_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn50_to_p_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn50_to_p_Cr50_reaclib) = drate_dT; - - } - rate_n_Mn50_to_He4_V47_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn50_to_He4_V47_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn50_to_He4_V47_reaclib) = drate_dT; - - } - rate_He4_Mn50_to_n_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn50_to_n_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_n_Co53_reaclib) = drate_dT; - - } - rate_He4_Mn50_to_p_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn50_to_p_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn50_to_p_Fe53_reaclib) = drate_dT; - - } - rate_n_Mn51_to_p_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn51_to_p_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn51_to_p_Cr51_reaclib) = drate_dT; - - } - rate_n_Mn51_to_He4_V48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn51_to_He4_V48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn51_to_He4_V48_reaclib) = drate_dT; - - } - rate_p_Mn51_to_He4_Cr48_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_n_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_n_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_n_Co54_reaclib) = drate_dT; - - } - rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; - - } - rate_n_Mn52_to_p_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn52_to_p_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn52_to_p_Cr52_reaclib) = drate_dT; - - } - rate_n_Mn52_to_He4_V49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn52_to_He4_V49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn52_to_He4_V49_reaclib) = drate_dT; - - } - rate_p_Mn52_to_n_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn52_to_n_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn52_to_n_Fe52_reaclib) = drate_dT; - - } - rate_p_Mn52_to_He4_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn52_to_He4_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn52_to_He4_Cr49_reaclib) = drate_dT; - - } - rate_He4_Mn52_to_n_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn52_to_n_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_n_Co55_reaclib) = drate_dT; - - } - rate_He4_Mn52_to_p_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn52_to_p_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn52_to_p_Fe55_reaclib) = drate_dT; - - } - rate_n_Mn53_to_p_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn53_to_p_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn53_to_p_Cr53_reaclib) = drate_dT; - - } - rate_n_Mn53_to_He4_V50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn53_to_He4_V50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn53_to_He4_V50_reaclib) = drate_dT; - - } - rate_p_Mn53_to_n_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn53_to_n_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn53_to_n_Fe53_reaclib) = drate_dT; - - } - rate_p_Mn53_to_He4_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn53_to_He4_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn53_to_He4_Cr50_reaclib) = drate_dT; - - } - rate_He4_Mn53_to_n_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn53_to_n_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_n_Co56_reaclib) = drate_dT; - - } - rate_He4_Mn53_to_p_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn53_to_p_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn53_to_p_Fe56_reaclib) = drate_dT; - - } - rate_n_Mn54_to_p_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn54_to_p_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn54_to_p_Cr54_reaclib) = drate_dT; - - } - rate_n_Mn54_to_He4_V51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn54_to_He4_V51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn54_to_He4_V51_reaclib) = drate_dT; - - } - rate_p_Mn54_to_n_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn54_to_n_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn54_to_n_Fe54_reaclib) = drate_dT; - - } - rate_p_Mn54_to_He4_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn54_to_He4_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn54_to_He4_Cr51_reaclib) = drate_dT; - - } - rate_He4_Mn54_to_n_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn54_to_n_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_n_Co57_reaclib) = drate_dT; - - } - rate_He4_Mn54_to_p_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn54_to_p_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn54_to_p_Fe57_reaclib) = drate_dT; - - } - rate_n_Mn55_to_He4_V52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Mn55_to_He4_V52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Mn55_to_He4_V52_reaclib) = drate_dT; - - } - rate_p_Mn55_to_n_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn55_to_n_Fe55_reaclib) = drate_dT; - - } - rate_p_Mn55_to_He4_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Mn55_to_He4_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Mn55_to_He4_Cr52_reaclib) = drate_dT; - - } - rate_He4_Mn55_to_n_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn55_to_n_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_n_Co58_reaclib) = drate_dT; - - } - rate_He4_Mn55_to_p_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Mn55_to_p_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Mn55_to_p_Fe58_reaclib) = drate_dT; - - } - rate_n_Fe52_to_p_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_p_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_p_Mn52_reaclib) = drate_dT; - - } - rate_n_Fe52_to_He4_Cr49_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe52_to_He4_Cr49_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe52_to_He4_Cr49_reaclib) = drate_dT; - - } - rate_He4_Fe52_to_p_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; - - } - rate_n_Fe53_to_p_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_p_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_p_Mn53_reaclib) = drate_dT; - - } - rate_n_Fe53_to_He4_Cr50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe53_to_He4_Cr50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe53_to_He4_Cr50_reaclib) = drate_dT; - - } - rate_p_Fe53_to_n_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe53_to_n_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe53_to_n_Co53_reaclib) = drate_dT; - - } - rate_p_Fe53_to_He4_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe53_to_He4_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe53_to_He4_Mn50_reaclib) = drate_dT; - - } - rate_He4_Fe53_to_n_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_reaclib) = drate_dT; - - } - rate_He4_Fe53_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = drate_dT; - - } - rate_n_Fe54_to_p_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_p_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_p_Mn54_reaclib) = drate_dT; - - } - rate_n_Fe54_to_He4_Cr51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe54_to_He4_Cr51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe54_to_He4_Cr51_reaclib) = drate_dT; - - } - rate_p_Fe54_to_n_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe54_to_n_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_n_Co54_reaclib) = drate_dT; - - } - rate_p_Fe54_to_He4_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_n_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_reaclib) = drate_dT; - - } - rate_He4_Fe54_to_p_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_reaclib) = drate_dT; - - } - rate_n_Fe55_to_p_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_p_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_p_Mn55_reaclib) = drate_dT; - - } - rate_n_Fe55_to_He4_Cr52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe55_to_He4_Cr52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe55_to_He4_Cr52_reaclib) = drate_dT; - - } - rate_p_Fe55_to_n_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe55_to_n_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_reaclib) = drate_dT; - - } - rate_p_Fe55_to_He4_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe55_to_He4_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe55_to_He4_Mn52_reaclib) = drate_dT; - - } - rate_He4_Fe55_to_n_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_reaclib) = drate_dT; - - } - rate_He4_Fe55_to_p_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe55_to_p_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe55_to_p_Co58_reaclib) = drate_dT; - - } - rate_n_Fe56_to_He4_Cr53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe56_to_He4_Cr53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe56_to_He4_Cr53_reaclib) = drate_dT; - - } - rate_p_Fe56_to_n_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe56_to_n_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_reaclib) = drate_dT; - - } - rate_p_Fe56_to_He4_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe56_to_He4_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe56_to_He4_Mn53_reaclib) = drate_dT; - - } - rate_He4_Fe56_to_n_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe56_to_n_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_n_Ni59_reaclib) = drate_dT; - - } - rate_He4_Fe56_to_p_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe56_to_p_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe56_to_p_Co59_reaclib) = drate_dT; - - } - rate_n_Fe57_to_He4_Cr54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Fe57_to_He4_Cr54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Fe57_to_He4_Cr54_reaclib) = drate_dT; - - } - rate_p_Fe57_to_n_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe57_to_n_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe57_to_n_Co57_reaclib) = drate_dT; - - } - rate_p_Fe57_to_He4_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe57_to_He4_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe57_to_He4_Mn54_reaclib) = drate_dT; - - } - rate_He4_Fe57_to_n_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe57_to_n_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe57_to_n_Ni60_reaclib) = drate_dT; - - } - rate_p_Fe58_to_n_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe58_to_n_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe58_to_n_Co58_reaclib) = drate_dT; - - } - rate_p_Fe58_to_He4_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Fe58_to_He4_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Fe58_to_He4_Mn55_reaclib) = drate_dT; - - } - rate_He4_Fe58_to_n_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Fe58_to_n_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Fe58_to_n_Ni61_reaclib) = drate_dT; - - } - rate_n_Co53_to_p_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co53_to_p_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co53_to_p_Fe53_reaclib) = drate_dT; - - } - rate_n_Co53_to_He4_Mn50_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co53_to_He4_Mn50_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co53_to_He4_Mn50_reaclib) = drate_dT; - - } - rate_He4_Co53_to_p_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co53_to_p_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co53_to_p_Ni56_reaclib) = drate_dT; - - } - rate_n_Co54_to_p_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co54_to_p_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co54_to_p_Fe54_reaclib) = drate_dT; - - } - rate_n_Co54_to_He4_Mn51_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co54_to_He4_Mn51_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co54_to_He4_Mn51_reaclib) = drate_dT; - - } - rate_He4_Co54_to_n_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co54_to_n_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co54_to_n_Cu57_reaclib) = drate_dT; - - } - rate_He4_Co54_to_p_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co54_to_p_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co54_to_p_Ni57_reaclib) = drate_dT; - - } - rate_n_Co55_to_p_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_p_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_p_Fe55_reaclib) = drate_dT; - - } - rate_n_Co55_to_He4_Mn52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co55_to_He4_Mn52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co55_to_He4_Mn52_reaclib) = drate_dT; - - } - rate_p_Co55_to_He4_Fe52_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_reaclib) = drate_dT; - - } - rate_He4_Co55_to_n_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_n_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_n_Cu58_reaclib) = drate_dT; - - } - rate_He4_Co55_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; - - } - rate_n_Co56_to_p_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; - - } - rate_n_Co56_to_He4_Mn53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co56_to_He4_Mn53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co56_to_He4_Mn53_reaclib) = drate_dT; - - } - rate_p_Co56_to_n_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co56_to_n_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_reaclib) = drate_dT; - - } - rate_p_Co56_to_He4_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_reaclib) = drate_dT; - - } - rate_He4_Co56_to_n_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_reaclib) = drate_dT; - - } - rate_He4_Co56_to_p_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co56_to_p_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co56_to_p_Ni59_reaclib) = drate_dT; - - } - rate_n_Co57_to_p_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co57_to_p_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co57_to_p_Fe57_reaclib) = drate_dT; - - } - rate_n_Co57_to_He4_Mn54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co57_to_He4_Mn54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co57_to_He4_Mn54_reaclib) = drate_dT; - - } - rate_p_Co57_to_n_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_n_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_reaclib) = drate_dT; - - } - rate_p_Co57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_He4_Co57_to_n_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co57_to_n_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co57_to_n_Cu60_reaclib) = drate_dT; - - } - rate_He4_Co57_to_p_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co57_to_p_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co57_to_p_Ni60_reaclib) = drate_dT; - - } - rate_n_Co58_to_p_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co58_to_p_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co58_to_p_Fe58_reaclib) = drate_dT; - - } - rate_n_Co58_to_He4_Mn55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Co58_to_He4_Mn55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Co58_to_He4_Mn55_reaclib) = drate_dT; - - } - rate_p_Co58_to_n_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co58_to_n_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co58_to_n_Ni58_reaclib) = drate_dT; - - } - rate_p_Co58_to_He4_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co58_to_He4_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co58_to_He4_Fe55_reaclib) = drate_dT; - - } - rate_He4_Co58_to_n_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co58_to_n_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co58_to_n_Cu61_reaclib) = drate_dT; - - } - rate_He4_Co58_to_p_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co58_to_p_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co58_to_p_Ni61_reaclib) = drate_dT; - - } - rate_p_Co59_to_n_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co59_to_n_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co59_to_n_Ni59_reaclib) = drate_dT; - - } - rate_p_Co59_to_He4_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Co59_to_He4_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Co59_to_He4_Fe56_reaclib) = drate_dT; - - } - rate_He4_Co59_to_n_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co59_to_n_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co59_to_n_Cu62_reaclib) = drate_dT; - - } - rate_He4_Co59_to_p_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Co59_to_p_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Co59_to_p_Ni62_reaclib) = drate_dT; - - } - rate_n_Ni56_to_p_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; - - } - rate_n_Ni56_to_He4_Fe53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni56_to_He4_Fe53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni56_to_He4_Fe53_reaclib) = drate_dT; - - } - rate_p_Ni56_to_He4_Co53_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni56_to_He4_Co53_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni56_to_He4_Co53_reaclib) = drate_dT; - - } - rate_He4_Ni56_to_n_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni56_to_n_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_n_Zn59_reaclib) = drate_dT; - - } - rate_He4_Ni56_to_p_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_reaclib) = drate_dT; - - } - rate_n_Ni57_to_p_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_p_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_p_Co57_reaclib) = drate_dT; - - } - rate_n_Ni57_to_He4_Fe54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni57_to_He4_Fe54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni57_to_He4_Fe54_reaclib) = drate_dT; - - } - rate_p_Ni57_to_n_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni57_to_n_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni57_to_n_Cu57_reaclib) = drate_dT; - - } - rate_p_Ni57_to_He4_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni57_to_He4_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni57_to_He4_Co54_reaclib) = drate_dT; - - } - rate_He4_Ni57_to_n_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_reaclib) = drate_dT; - - } - rate_He4_Ni57_to_p_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni57_to_p_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni57_to_p_Cu60_reaclib) = drate_dT; - - } - rate_n_Ni58_to_p_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni58_to_p_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni58_to_p_Co58_reaclib) = drate_dT; - - } - rate_n_Ni58_to_He4_Fe55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni58_to_He4_Fe55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni58_to_He4_Fe55_reaclib) = drate_dT; - - } - rate_p_Ni58_to_n_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni58_to_n_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_n_Cu58_reaclib) = drate_dT; - - } - rate_p_Ni58_to_He4_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_reaclib) = drate_dT; - - } - rate_He4_Ni58_to_n_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni58_to_n_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_n_Zn61_reaclib) = drate_dT; - - } - rate_He4_Ni58_to_p_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni58_to_p_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni58_to_p_Cu61_reaclib) = drate_dT; - - } - rate_n_Ni59_to_p_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni59_to_p_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni59_to_p_Co59_reaclib) = drate_dT; - - } - rate_n_Ni59_to_He4_Fe56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni59_to_He4_Fe56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni59_to_He4_Fe56_reaclib) = drate_dT; - - } - rate_p_Ni59_to_n_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni59_to_n_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni59_to_n_Cu59_reaclib) = drate_dT; - - } - rate_p_Ni59_to_He4_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni59_to_He4_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni59_to_He4_Co56_reaclib) = drate_dT; - - } - rate_He4_Ni59_to_n_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni59_to_n_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_n_Zn62_reaclib) = drate_dT; - - } - rate_He4_Ni59_to_p_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni59_to_p_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni59_to_p_Cu62_reaclib) = drate_dT; - - } - rate_n_Ni60_to_He4_Fe57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni60_to_He4_Fe57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni60_to_He4_Fe57_reaclib) = drate_dT; - - } - rate_p_Ni60_to_n_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni60_to_n_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni60_to_n_Cu60_reaclib) = drate_dT; - - } - rate_p_Ni60_to_He4_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni60_to_He4_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni60_to_He4_Co57_reaclib) = drate_dT; - - } - rate_He4_Ni60_to_n_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni60_to_n_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_n_Zn63_reaclib) = drate_dT; - - } - rate_He4_Ni60_to_p_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni60_to_p_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni60_to_p_Cu63_reaclib) = drate_dT; - - } - rate_n_Ni61_to_He4_Fe58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ni61_to_He4_Fe58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ni61_to_He4_Fe58_reaclib) = drate_dT; - - } - rate_p_Ni61_to_n_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni61_to_n_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni61_to_n_Cu61_reaclib) = drate_dT; - - } - rate_p_Ni61_to_He4_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni61_to_He4_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni61_to_He4_Co58_reaclib) = drate_dT; - - } - rate_He4_Ni61_to_n_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni61_to_n_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_n_Zn64_reaclib) = drate_dT; - - } - rate_He4_Ni61_to_p_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni61_to_p_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni61_to_p_Cu64_reaclib) = drate_dT; - - } - rate_p_Ni62_to_n_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni62_to_n_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni62_to_n_Cu62_reaclib) = drate_dT; - - } - rate_p_Ni62_to_He4_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni62_to_He4_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni62_to_He4_Co59_reaclib) = drate_dT; - - } - rate_He4_Ni62_to_n_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni62_to_n_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_n_Zn65_reaclib) = drate_dT; - - } - rate_He4_Ni62_to_p_Cu65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni62_to_p_Cu65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni62_to_p_Cu65_reaclib) = drate_dT; - - } - rate_p_Ni63_to_n_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni63_to_n_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni63_to_n_Cu63_reaclib) = drate_dT; - - } - rate_He4_Ni63_to_n_Zn66_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Ni63_to_n_Zn66_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Ni63_to_n_Zn66_reaclib) = drate_dT; - - } - rate_p_Ni64_to_n_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ni64_to_n_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ni64_to_n_Cu64_reaclib) = drate_dT; - - } - rate_n_Cu57_to_p_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu57_to_p_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu57_to_p_Ni57_reaclib) = drate_dT; - - } - rate_n_Cu57_to_He4_Co54_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu57_to_He4_Co54_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu57_to_He4_Co54_reaclib) = drate_dT; - - } - rate_He4_Cu57_to_p_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu57_to_p_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu57_to_p_Zn60_reaclib) = drate_dT; - - } - rate_n_Cu58_to_p_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu58_to_p_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu58_to_p_Ni58_reaclib) = drate_dT; - - } - rate_n_Cu58_to_He4_Co55_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu58_to_He4_Co55_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu58_to_He4_Co55_reaclib) = drate_dT; - - } - rate_He4_Cu58_to_p_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu58_to_p_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu58_to_p_Zn61_reaclib) = drate_dT; - - } - rate_n_Cu59_to_p_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu59_to_p_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu59_to_p_Ni59_reaclib) = drate_dT; - - } - rate_n_Cu59_to_He4_Co56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu59_to_He4_Co56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu59_to_He4_Co56_reaclib) = drate_dT; - - } - rate_p_Cu59_to_n_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu59_to_n_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu59_to_n_Zn59_reaclib) = drate_dT; - - } - rate_p_Cu59_to_He4_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = drate_dT; - - } - rate_He4_Cu59_to_n_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu59_to_n_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_n_Ga62_reaclib) = drate_dT; - - } - rate_He4_Cu59_to_p_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu59_to_p_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu59_to_p_Zn62_reaclib) = drate_dT; - - } - rate_n_Cu60_to_p_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu60_to_p_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu60_to_p_Ni60_reaclib) = drate_dT; - - } - rate_n_Cu60_to_He4_Co57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu60_to_He4_Co57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu60_to_He4_Co57_reaclib) = drate_dT; - - } - rate_p_Cu60_to_n_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu60_to_n_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu60_to_n_Zn60_reaclib) = drate_dT; - - } - rate_p_Cu60_to_He4_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu60_to_He4_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu60_to_He4_Ni57_reaclib) = drate_dT; - - } - rate_He4_Cu60_to_n_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu60_to_n_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_n_Ga63_reaclib) = drate_dT; - - } - rate_He4_Cu60_to_p_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu60_to_p_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu60_to_p_Zn63_reaclib) = drate_dT; - - } - rate_n_Cu61_to_p_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu61_to_p_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu61_to_p_Ni61_reaclib) = drate_dT; - - } - rate_n_Cu61_to_He4_Co58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu61_to_He4_Co58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu61_to_He4_Co58_reaclib) = drate_dT; - - } - rate_p_Cu61_to_n_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu61_to_n_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu61_to_n_Zn61_reaclib) = drate_dT; - - } - rate_p_Cu61_to_He4_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu61_to_He4_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu61_to_He4_Ni58_reaclib) = drate_dT; - - } - rate_He4_Cu61_to_n_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu61_to_n_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu61_to_n_Ga64_reaclib) = drate_dT; - - } - rate_He4_Cu61_to_p_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu61_to_p_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu61_to_p_Zn64_reaclib) = drate_dT; - - } - rate_n_Cu62_to_p_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu62_to_p_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu62_to_p_Ni62_reaclib) = drate_dT; - - } - rate_n_Cu62_to_He4_Co59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu62_to_He4_Co59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu62_to_He4_Co59_reaclib) = drate_dT; - - } - rate_p_Cu62_to_n_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu62_to_n_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu62_to_n_Zn62_reaclib) = drate_dT; - - } - rate_p_Cu62_to_He4_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu62_to_He4_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu62_to_He4_Ni59_reaclib) = drate_dT; - - } - rate_He4_Cu62_to_p_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu62_to_p_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu62_to_p_Zn65_reaclib) = drate_dT; - - } - rate_n_Cu63_to_p_Ni63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu63_to_p_Ni63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu63_to_p_Ni63_reaclib) = drate_dT; - - } - rate_p_Cu63_to_n_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu63_to_n_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu63_to_n_Zn63_reaclib) = drate_dT; - - } - rate_p_Cu63_to_He4_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu63_to_He4_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu63_to_He4_Ni60_reaclib) = drate_dT; - - } - rate_He4_Cu63_to_p_Zn66_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Cu63_to_p_Zn66_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Cu63_to_p_Zn66_reaclib) = drate_dT; - - } - rate_n_Cu64_to_p_Ni64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Cu64_to_p_Ni64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Cu64_to_p_Ni64_reaclib) = drate_dT; - - } - rate_p_Cu64_to_n_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu64_to_n_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu64_to_n_Zn64_reaclib) = drate_dT; - - } - rate_p_Cu64_to_He4_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu64_to_He4_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu64_to_He4_Ni61_reaclib) = drate_dT; - - } - rate_p_Cu65_to_n_Zn65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu65_to_n_Zn65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu65_to_n_Zn65_reaclib) = drate_dT; - - } - rate_p_Cu65_to_He4_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Cu65_to_He4_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Cu65_to_He4_Ni62_reaclib) = drate_dT; - - } - rate_n_Zn59_to_p_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn59_to_p_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn59_to_p_Cu59_reaclib) = drate_dT; - - } - rate_n_Zn59_to_He4_Ni56_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn59_to_He4_Ni56_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn59_to_He4_Ni56_reaclib) = drate_dT; - - } - rate_He4_Zn59_to_p_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn59_to_p_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn59_to_p_Ga62_reaclib) = drate_dT; - - } - rate_n_Zn60_to_p_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn60_to_p_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn60_to_p_Cu60_reaclib) = drate_dT; - - } - rate_n_Zn60_to_He4_Ni57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn60_to_He4_Ni57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn60_to_He4_Ni57_reaclib) = drate_dT; - - } - rate_p_Zn60_to_He4_Cu57_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn60_to_He4_Cu57_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn60_to_He4_Cu57_reaclib) = drate_dT; - - } - rate_He4_Zn60_to_n_Ge63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn60_to_n_Ge63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_n_Ge63_reaclib) = drate_dT; - - } - rate_He4_Zn60_to_p_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn60_to_p_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn60_to_p_Ga63_reaclib) = drate_dT; - - } - rate_n_Zn61_to_p_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn61_to_p_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn61_to_p_Cu61_reaclib) = drate_dT; - - } - rate_n_Zn61_to_He4_Ni58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn61_to_He4_Ni58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn61_to_He4_Ni58_reaclib) = drate_dT; - - } - rate_p_Zn61_to_He4_Cu58_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn61_to_He4_Cu58_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn61_to_He4_Cu58_reaclib) = drate_dT; - - } - rate_He4_Zn61_to_n_Ge64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn61_to_n_Ge64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn61_to_n_Ge64_reaclib) = drate_dT; - - } - rate_He4_Zn61_to_p_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_Zn61_to_p_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_Zn61_to_p_Ga64_reaclib) = drate_dT; - - } - rate_n_Zn62_to_p_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn62_to_p_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn62_to_p_Cu62_reaclib) = drate_dT; - - } - rate_n_Zn62_to_He4_Ni59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn62_to_He4_Ni59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn62_to_He4_Ni59_reaclib) = drate_dT; - - } - rate_p_Zn62_to_n_Ga62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn62_to_n_Ga62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn62_to_n_Ga62_reaclib) = drate_dT; - - } - rate_p_Zn62_to_He4_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn62_to_He4_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn62_to_He4_Cu59_reaclib) = drate_dT; - - } - rate_n_Zn63_to_p_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn63_to_p_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn63_to_p_Cu63_reaclib) = drate_dT; - - } - rate_n_Zn63_to_He4_Ni60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn63_to_He4_Ni60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn63_to_He4_Ni60_reaclib) = drate_dT; - - } - rate_p_Zn63_to_n_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn63_to_n_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn63_to_n_Ga63_reaclib) = drate_dT; - - } - rate_p_Zn63_to_He4_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn63_to_He4_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn63_to_He4_Cu60_reaclib) = drate_dT; - - } - rate_n_Zn64_to_p_Cu64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn64_to_p_Cu64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn64_to_p_Cu64_reaclib) = drate_dT; - - } - rate_n_Zn64_to_He4_Ni61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn64_to_He4_Ni61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn64_to_He4_Ni61_reaclib) = drate_dT; - - } - rate_p_Zn64_to_n_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn64_to_n_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn64_to_n_Ga64_reaclib) = drate_dT; - - } - rate_p_Zn64_to_He4_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn64_to_He4_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn64_to_He4_Cu61_reaclib) = drate_dT; - - } - rate_n_Zn65_to_p_Cu65_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn65_to_p_Cu65_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn65_to_p_Cu65_reaclib) = drate_dT; - - } - rate_n_Zn65_to_He4_Ni62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn65_to_He4_Ni62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn65_to_He4_Ni62_reaclib) = drate_dT; - - } - rate_p_Zn65_to_He4_Cu62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn65_to_He4_Cu62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn65_to_He4_Cu62_reaclib) = drate_dT; - - } - rate_n_Zn66_to_He4_Ni63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Zn66_to_He4_Ni63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Zn66_to_He4_Ni63_reaclib) = drate_dT; - - } - rate_p_Zn66_to_He4_Cu63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Zn66_to_He4_Cu63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Zn66_to_He4_Cu63_reaclib) = drate_dT; - - } - rate_n_Ga62_to_p_Zn62_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga62_to_p_Zn62_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga62_to_p_Zn62_reaclib) = drate_dT; - - } - rate_n_Ga62_to_He4_Cu59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga62_to_He4_Cu59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga62_to_He4_Cu59_reaclib) = drate_dT; - - } - rate_p_Ga62_to_He4_Zn59_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga62_to_He4_Zn59_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga62_to_He4_Zn59_reaclib) = drate_dT; - - } - rate_n_Ga63_to_p_Zn63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga63_to_p_Zn63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga63_to_p_Zn63_reaclib) = drate_dT; - - } - rate_n_Ga63_to_He4_Cu60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga63_to_He4_Cu60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga63_to_He4_Cu60_reaclib) = drate_dT; - - } - rate_p_Ga63_to_n_Ge63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga63_to_n_Ge63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga63_to_n_Ge63_reaclib) = drate_dT; - - } - rate_p_Ga63_to_He4_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga63_to_He4_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga63_to_He4_Zn60_reaclib) = drate_dT; - - } - rate_n_Ga64_to_p_Zn64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga64_to_p_Zn64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga64_to_p_Zn64_reaclib) = drate_dT; - - } - rate_n_Ga64_to_He4_Cu61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ga64_to_He4_Cu61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ga64_to_He4_Cu61_reaclib) = drate_dT; - - } - rate_p_Ga64_to_n_Ge64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga64_to_n_Ge64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga64_to_n_Ge64_reaclib) = drate_dT; - - } - rate_p_Ga64_to_He4_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Ga64_to_He4_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Ga64_to_He4_Zn61_reaclib) = drate_dT; - - } - rate_n_Ge63_to_p_Ga63_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ge63_to_p_Ga63_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ge63_to_p_Ga63_reaclib) = drate_dT; - - } - rate_n_Ge63_to_He4_Zn60_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ge63_to_He4_Zn60_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ge63_to_He4_Zn60_reaclib) = drate_dT; - - } - rate_n_Ge64_to_p_Ga64_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ge64_to_p_Ga64_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ge64_to_p_Ga64_reaclib) = drate_dT; - - } - rate_n_Ge64_to_He4_Zn61_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_Ge64_to_He4_Zn61_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_Ge64_to_He4_Zn61_reaclib) = drate_dT; - - } - rate_p_d_to_n_p_p_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_d_to_n_p_p_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_d_to_n_p_p_reaclib) = drate_dT; - - } - rate_He3_He3_to_p_p_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; - - } - rate_d_Li7_to_n_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Li7_to_n_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Li7_to_n_He4_He4_reaclib) = drate_dT; - - } - rate_d_Be7_to_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; - - } - rate_p_Be9_to_d_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be9_to_d_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be9_to_d_He4_He4_reaclib) = drate_dT; - - } - rate_n_B8_to_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_B8_to_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_B8_to_p_He4_He4_reaclib) = drate_dT; - - } - rate_p_B11_to_He4_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = drate_dT; - - } - rate_He3_Li7_to_n_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_Li7_to_n_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_Li7_to_n_p_He4_He4_reaclib) = drate_dT; - - } - rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; - - } - rate_p_Be9_to_n_p_He4_He4_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_Be9_to_n_p_He4_He4_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_Be9_to_n_p_He4_He4_reaclib) = drate_dT; - - } - rate_n_p_He4_to_Li6_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_p_He4_to_Li6_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_p_He4_to_Li6_reaclib) = drate_dT; - - } - rate_n_He4_He4_to_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_He4_He4_to_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_He4_He4_to_Be9_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_C12_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; - - } - rate_n_p_p_to_p_d_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_p_p_to_p_d_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_p_p_to_p_d_reaclib) = drate_dT; - - } - rate_p_p_He4_to_He3_He3_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_He4_to_He3_He3_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_He4_to_He3_He3_reaclib) = drate_dT; - - } - rate_n_He4_He4_to_d_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_He4_He4_to_d_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_He4_He4_to_d_Li7_reaclib) = drate_dT; - - } - rate_p_He4_He4_to_n_B8_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He4_He4_to_n_B8_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He4_He4_to_n_B8_reaclib) = drate_dT; - - } - rate_p_He4_He4_to_d_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_He4_He4_to_d_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_He4_He4_to_d_Be7_reaclib) = drate_dT; - - } - rate_d_He4_He4_to_p_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_d_He4_He4_to_p_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_d_He4_He4_to_p_Be9_reaclib) = drate_dT; - - } - rate_He4_He4_He4_to_p_B11_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_He4_He4_He4_to_p_B11_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_p_B11_reaclib) = drate_dT; - - } - rate_n_p_He4_He4_to_He3_Li7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_p_He4_He4_to_He3_Li7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_He3_Li7_reaclib) = drate_dT; - - } - rate_n_p_He4_He4_to_p_Be9_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_n_p_He4_He4_to_p_Be9_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_p_Be9_reaclib) = drate_dT; - + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Be7_to_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Be7_to_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Be7_to_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn59_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn59_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn59_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge63_to_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge63_to_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge63_to_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_d_to_n_p_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_to_n_p_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_to_n_p_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_He3_to_p_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_to_p_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_to_p_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_He4_to_n_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_to_n_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_to_n_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_He4_to_d_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_to_d_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_to_d_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Li6_to_He4_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Li6_to_He4_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Li6_to_He4_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Li7_to_n_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Li7_to_n_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Li7_to_n_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Be7_to_p_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Be7_to_p_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Be7_to_p_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Be7_to_He4_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Be7_to_He4_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Be7_to_He4_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B8_to_p_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B8_to_p_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B8_to_p_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B8_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B8_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B8_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B10_to_p_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B10_to_p_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B10_to_p_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B10_to_He4_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B10_to_He4_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B10_to_He4_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B11_to_n_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B11_to_n_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B11_to_n_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_B11_to_He4_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_B11_to_He4_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_B11_to_He4_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_p_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_to_p_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_p_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C13_to_n_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C13_to_n_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C13_to_n_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C14_to_n_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C14_to_n_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C14_to_n_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N13_to_p_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_p_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N14_to_n_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N14_to_n_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_n_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N14_to_p_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N14_to_p_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_p_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N15_to_n_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N15_to_n_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N15_to_n_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_N15_to_p_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_N15_to_p_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N15_to_p_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O14_to_p_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_p_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_p_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_n_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_n_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_n_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O15_to_p_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_p_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_p_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_n_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_to_n_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_n_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_p_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_to_p_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_p_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O16_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O17_to_n_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O17_to_n_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O17_to_n_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O18_to_n_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O18_to_n_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O18_to_n_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_O18_to_He4_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O18_to_He4_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O18_to_He4_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F17_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_n_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_n_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_n_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_p_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_p_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_p_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F18_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_n_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F19_to_n_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_n_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_p_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F19_to_p_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_p_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_F19_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_F19_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne18_to_He4_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_He4_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_n_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_n_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_n_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_p_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_p_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne19_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_n_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_n_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_n_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_p_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_p_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne20_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne21_to_n_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne21_to_n_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne21_to_n_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne21_to_He4_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne21_to_He4_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne22_to_n_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne22_to_n_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne22_to_n_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ne22_to_He4_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ne22_to_He4_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne22_to_He4_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na21_to_p_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na21_to_p_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na21_to_p_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na21_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na21_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na21_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_n_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na22_to_n_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_n_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na22_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na22_to_He4_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na22_to_He4_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_n_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na23_to_n_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_n_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_p_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na23_to_p_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_p_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Na23_to_He4_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Na23_to_He4_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg23_to_p_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg23_to_p_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg23_to_p_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg23_to_He4_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg23_to_He4_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg23_to_He4_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg24_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_n_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg24_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg24_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg25_to_n_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg25_to_n_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg25_to_n_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg25_to_He4_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg25_to_He4_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg25_to_He4_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg26_to_n_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg26_to_n_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg26_to_n_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mg26_to_He4_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mg26_to_He4_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg26_to_He4_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al25_to_p_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al25_to_p_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al25_to_p_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al25_to_He4_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al25_to_He4_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al25_to_He4_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al26_to_n_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al26_to_n_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al26_to_n_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al26_to_p_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al26_to_p_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al26_to_p_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al26_to_He4_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al26_to_He4_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al26_to_He4_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al27_to_n_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al27_to_n_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al27_to_n_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al27_to_p_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al27_to_p_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al27_to_p_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Al27_to_He4_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Al27_to_He4_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Al27_to_He4_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si28_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si28_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si29_to_n_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si29_to_n_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si29_to_n_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si29_to_He4_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si29_to_He4_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si29_to_He4_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si30_to_n_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si30_to_n_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si30_to_n_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si30_to_He4_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si30_to_He4_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si30_to_He4_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si31_to_n_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si31_to_n_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si31_to_n_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Si32_to_n_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Si32_to_n_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si32_to_n_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P29_to_p_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P29_to_p_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P29_to_p_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P29_to_He4_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P29_to_He4_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P29_to_He4_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P30_to_n_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P30_to_n_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P30_to_n_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P30_to_p_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P30_to_p_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P30_to_p_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P30_to_He4_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P30_to_He4_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P30_to_He4_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P31_to_n_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P31_to_n_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P31_to_n_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P31_to_p_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P31_to_p_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P31_to_p_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P31_to_He4_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P31_to_He4_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P31_to_He4_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P32_to_n_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P32_to_n_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P32_to_n_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P32_to_p_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P32_to_p_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P32_to_p_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P33_to_n_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P33_to_n_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P33_to_n_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_P33_to_p_Si32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_P33_to_p_Si32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_P33_to_p_Si32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S32_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S32_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S32_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S33_to_n_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S33_to_n_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S33_to_n_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S33_to_p_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S33_to_p_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S33_to_p_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S33_to_He4_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S33_to_He4_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S33_to_He4_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S34_to_n_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S34_to_n_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S34_to_n_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S34_to_p_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S34_to_p_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S34_to_p_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S34_to_He4_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S34_to_He4_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S34_to_He4_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S35_to_n_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S35_to_n_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S35_to_n_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S35_to_He4_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S35_to_He4_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S35_to_He4_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S36_to_n_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S36_to_n_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S36_to_n_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_S36_to_He4_Si32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_S36_to_He4_Si32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S36_to_He4_Si32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl33_to_p_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl33_to_p_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl33_to_p_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl33_to_He4_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl33_to_He4_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl33_to_He4_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl34_to_n_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl34_to_n_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl34_to_n_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl34_to_p_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl34_to_p_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl34_to_p_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl34_to_He4_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl34_to_He4_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl34_to_He4_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl35_to_n_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl35_to_n_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl35_to_n_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl35_to_p_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl35_to_p_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl35_to_p_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl35_to_He4_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl35_to_He4_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl35_to_He4_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl36_to_n_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl36_to_n_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl36_to_n_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl36_to_p_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl36_to_p_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl36_to_p_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl36_to_He4_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl36_to_He4_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl36_to_He4_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl37_to_n_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl37_to_n_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl37_to_n_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl37_to_p_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl37_to_p_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl37_to_p_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cl37_to_He4_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cl37_to_He4_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cl37_to_He4_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_p_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar36_to_He4_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_He4_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar37_to_n_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar37_to_n_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar37_to_n_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar37_to_p_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar37_to_p_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar37_to_p_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar37_to_He4_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar37_to_He4_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar37_to_He4_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar38_to_n_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar38_to_n_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar38_to_n_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar38_to_p_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar38_to_p_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar38_to_p_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar38_to_He4_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar38_to_He4_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar38_to_He4_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar39_to_n_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar39_to_n_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar39_to_n_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar39_to_He4_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar39_to_He4_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar39_to_He4_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar40_to_n_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar40_to_n_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar40_to_n_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ar40_to_He4_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ar40_to_He4_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar40_to_He4_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K37_to_p_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K37_to_p_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K37_to_p_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K37_to_He4_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K37_to_He4_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K37_to_He4_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K38_to_n_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K38_to_n_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K38_to_n_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K38_to_p_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K38_to_p_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K38_to_p_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K38_to_He4_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K38_to_He4_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K38_to_He4_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K39_to_n_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K39_to_n_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K39_to_n_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K39_to_p_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K39_to_p_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K39_to_p_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K39_to_He4_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K39_to_He4_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K39_to_He4_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K40_to_n_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K40_to_n_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K40_to_n_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K40_to_p_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K40_to_p_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K40_to_p_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K40_to_He4_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K40_to_He4_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K40_to_He4_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K41_to_n_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K41_to_n_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K41_to_n_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K41_to_p_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K41_to_p_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K41_to_p_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_K41_to_He4_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_K41_to_He4_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_K41_to_He4_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_p_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_p_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca40_to_He4_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca41_to_n_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca41_to_n_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca41_to_n_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca41_to_p_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca41_to_p_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca41_to_p_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca41_to_He4_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca41_to_He4_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca41_to_He4_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca42_to_n_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca42_to_n_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca42_to_n_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca42_to_p_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca42_to_p_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca42_to_p_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca42_to_He4_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca42_to_He4_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca42_to_He4_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca43_to_n_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca43_to_n_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca43_to_n_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca43_to_He4_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca43_to_He4_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca43_to_He4_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca44_to_n_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca44_to_n_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca44_to_n_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca44_to_He4_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca44_to_He4_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca44_to_He4_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca45_to_n_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca45_to_n_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca45_to_n_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca46_to_n_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca46_to_n_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca46_to_n_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca47_to_n_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca47_to_n_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca47_to_n_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ca48_to_n_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ca48_to_n_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca48_to_n_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc43_to_p_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc43_to_p_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc43_to_p_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc43_to_He4_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc43_to_He4_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc43_to_He4_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc44_to_n_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc44_to_n_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc44_to_n_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc44_to_p_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc44_to_p_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc44_to_p_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc44_to_He4_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc44_to_He4_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc44_to_He4_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc45_to_n_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc45_to_n_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc45_to_n_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc45_to_p_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc45_to_p_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc45_to_p_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc45_to_He4_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc45_to_He4_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc45_to_He4_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc46_to_n_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc46_to_n_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc46_to_n_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc46_to_p_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc46_to_p_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc46_to_p_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc47_to_n_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc47_to_n_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc47_to_n_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc47_to_p_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc47_to_p_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc47_to_p_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc48_to_n_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc48_to_n_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc48_to_n_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc48_to_p_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc48_to_p_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc48_to_p_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc49_to_n_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc49_to_n_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc49_to_n_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Sc49_to_p_Ca48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Sc49_to_p_Ca48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Sc49_to_p_Ca48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_p_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti44_to_He4_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti45_to_n_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti45_to_n_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti45_to_n_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti45_to_p_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti45_to_p_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti45_to_p_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti45_to_He4_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti45_to_He4_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti45_to_He4_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti46_to_n_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti46_to_n_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti46_to_n_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti46_to_p_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti46_to_p_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti46_to_p_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti46_to_He4_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti46_to_He4_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti46_to_He4_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti47_to_n_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti47_to_n_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti47_to_n_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti47_to_p_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti47_to_p_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti47_to_p_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti47_to_He4_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti47_to_He4_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti47_to_He4_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti48_to_n_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti48_to_n_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti48_to_n_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti48_to_p_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti48_to_p_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti48_to_p_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti48_to_He4_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti48_to_He4_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti48_to_He4_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti49_to_n_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti49_to_n_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti49_to_n_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti49_to_p_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti49_to_p_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti49_to_p_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti49_to_He4_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti49_to_He4_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti49_to_He4_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti50_to_n_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti50_to_n_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti50_to_n_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti50_to_p_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti50_to_p_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti50_to_p_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti50_to_He4_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti50_to_He4_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti50_to_He4_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti51_to_n_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti51_to_n_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti51_to_n_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ti51_to_He4_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ti51_to_He4_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti51_to_He4_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V46_to_p_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V46_to_p_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V46_to_p_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V47_to_n_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V47_to_n_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V47_to_n_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V47_to_p_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V47_to_p_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V47_to_p_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V47_to_He4_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V47_to_He4_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V47_to_He4_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V48_to_n_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V48_to_n_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V48_to_n_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V48_to_p_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V48_to_p_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V48_to_p_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V48_to_He4_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V48_to_He4_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V48_to_He4_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V49_to_n_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V49_to_n_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V49_to_n_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V49_to_p_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V49_to_p_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V49_to_p_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V49_to_He4_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V49_to_He4_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V49_to_He4_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V50_to_n_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V50_to_n_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V50_to_n_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V50_to_p_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V50_to_p_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V50_to_p_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V50_to_He4_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V50_to_He4_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V50_to_He4_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V51_to_n_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V51_to_n_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V51_to_n_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V51_to_p_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V51_to_p_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V51_to_p_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V51_to_He4_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V51_to_He4_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V51_to_He4_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V52_to_n_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V52_to_n_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V52_to_n_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V52_to_p_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V52_to_p_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V52_to_p_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_V52_to_He4_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_V52_to_He4_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_V52_to_He4_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_p_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_p_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr48_to_He4_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr49_to_n_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr49_to_n_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr49_to_n_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr49_to_p_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr49_to_p_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr49_to_p_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr49_to_He4_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr49_to_He4_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr49_to_He4_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr50_to_n_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr50_to_n_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr50_to_n_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr50_to_p_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr50_to_p_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr50_to_p_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr50_to_He4_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr50_to_He4_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr50_to_He4_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr51_to_n_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr51_to_n_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr51_to_n_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr51_to_p_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr51_to_p_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr51_to_p_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr51_to_He4_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr51_to_He4_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr51_to_He4_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr52_to_n_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr52_to_n_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr52_to_n_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr52_to_p_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr52_to_p_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr52_to_p_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr52_to_He4_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr52_to_He4_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr52_to_He4_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr53_to_n_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr53_to_n_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr53_to_n_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr53_to_p_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr53_to_p_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr53_to_p_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr53_to_He4_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr53_to_He4_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr53_to_He4_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr54_to_n_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr54_to_n_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr54_to_n_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cr54_to_He4_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cr54_to_He4_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr54_to_He4_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn50_to_p_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn50_to_p_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn50_to_p_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn50_to_He4_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn50_to_He4_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn50_to_He4_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn51_to_n_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn51_to_n_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn51_to_n_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn51_to_p_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn51_to_p_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn51_to_p_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn51_to_He4_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn51_to_He4_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn51_to_He4_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn52_to_n_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn52_to_n_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn52_to_n_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn52_to_p_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn52_to_p_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn52_to_p_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn52_to_He4_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn52_to_He4_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn52_to_He4_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn53_to_n_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn53_to_n_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn53_to_n_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn53_to_p_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn53_to_p_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn53_to_p_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn53_to_He4_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn53_to_He4_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn53_to_He4_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn54_to_n_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn54_to_n_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn54_to_n_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn54_to_p_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn54_to_p_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn54_to_p_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn54_to_He4_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn54_to_He4_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn54_to_He4_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn55_to_n_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn55_to_n_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn55_to_n_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn55_to_p_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn55_to_p_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn55_to_p_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Mn55_to_He4_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Mn55_to_He4_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mn55_to_He4_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_p_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe52_to_He4_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_n_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe53_to_n_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_p_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe53_to_p_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_p_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe53_to_He4_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe53_to_He4_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_He4_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_n_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe54_to_n_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_p_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe54_to_p_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_p_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe54_to_He4_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe54_to_He4_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_He4_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_n_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe55_to_n_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_p_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe55_to_p_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_p_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe55_to_He4_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe55_to_He4_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_He4_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_n_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe56_to_n_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_p_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe56_to_p_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_p_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe56_to_He4_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe56_to_He4_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_He4_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe57_to_n_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe57_to_n_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe57_to_n_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe57_to_He4_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe57_to_He4_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe57_to_He4_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe58_to_n_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe58_to_n_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe58_to_n_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Fe58_to_He4_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Fe58_to_He4_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe58_to_He4_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co53_to_p_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co53_to_p_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co53_to_p_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co54_to_n_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co54_to_n_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co54_to_n_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co54_to_p_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co54_to_p_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co54_to_p_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co54_to_He4_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co54_to_He4_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co54_to_He4_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_n_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co55_to_n_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_n_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_p_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co55_to_p_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_p_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co55_to_He4_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co55_to_He4_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_n_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co56_to_n_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_p_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co56_to_p_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_p_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co56_to_He4_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co56_to_He4_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_He4_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_n_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co57_to_n_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_p_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co57_to_p_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_p_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co57_to_He4_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co57_to_He4_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_He4_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co58_to_n_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co58_to_n_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co58_to_n_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co58_to_p_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co58_to_p_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co58_to_p_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co58_to_He4_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co58_to_He4_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co58_to_He4_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co59_to_n_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co59_to_n_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co59_to_n_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co59_to_p_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co59_to_p_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co59_to_p_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Co59_to_He4_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Co59_to_He4_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co59_to_He4_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_p_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_to_p_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni56_to_He4_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_n_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni57_to_n_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni57_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni57_to_He4_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni57_to_He4_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_He4_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_n_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni58_to_n_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_p_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni58_to_p_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_p_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni58_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni58_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni59_to_n_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni59_to_n_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni59_to_n_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni59_to_p_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni59_to_p_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni59_to_p_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni59_to_He4_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni59_to_He4_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni59_to_He4_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni60_to_n_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni60_to_n_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni60_to_n_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni60_to_p_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni60_to_p_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni60_to_p_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni60_to_He4_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni60_to_He4_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni60_to_He4_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni61_to_n_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni61_to_n_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni61_to_n_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni61_to_He4_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni61_to_He4_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni61_to_He4_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni62_to_n_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni62_to_n_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni62_to_n_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni62_to_He4_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni62_to_He4_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni62_to_He4_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni63_to_n_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni63_to_n_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni63_to_n_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ni64_to_n_Ni63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ni64_to_n_Ni63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni64_to_n_Ni63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu57_to_p_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu57_to_p_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu57_to_p_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu57_to_He4_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu57_to_He4_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu57_to_He4_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu58_to_n_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu58_to_n_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu58_to_n_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu58_to_p_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu58_to_p_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu58_to_p_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu58_to_He4_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu58_to_He4_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu58_to_He4_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu59_to_n_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu59_to_n_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu59_to_n_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu59_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu59_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu59_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu59_to_He4_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu59_to_He4_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu59_to_He4_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu60_to_n_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu60_to_n_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu60_to_n_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu60_to_p_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu60_to_p_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu60_to_p_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu60_to_He4_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu60_to_He4_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu60_to_He4_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu61_to_n_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu61_to_n_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu61_to_n_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu61_to_p_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu61_to_p_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu61_to_p_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu61_to_He4_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu61_to_He4_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu61_to_He4_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu62_to_n_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu62_to_n_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu62_to_n_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu62_to_p_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu62_to_p_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu62_to_p_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu62_to_He4_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu62_to_He4_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu62_to_He4_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu63_to_n_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu63_to_n_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu63_to_n_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu63_to_p_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu63_to_p_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu63_to_p_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu63_to_He4_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu63_to_He4_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu63_to_He4_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu64_to_n_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu64_to_n_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu64_to_n_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu64_to_p_Ni63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu64_to_p_Ni63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu64_to_p_Ni63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu65_to_n_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu65_to_n_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu65_to_n_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Cu65_to_p_Ni64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Cu65_to_p_Ni64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cu65_to_p_Ni64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn59_to_p_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn59_to_p_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn59_to_p_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn59_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn59_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn59_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn60_to_n_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn60_to_n_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn60_to_n_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn60_to_p_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn60_to_p_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn60_to_p_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn60_to_He4_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn60_to_He4_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn60_to_He4_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn61_to_n_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn61_to_n_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn61_to_n_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn61_to_p_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn61_to_p_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn61_to_p_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn61_to_He4_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn61_to_He4_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn61_to_He4_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn62_to_n_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn62_to_n_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn62_to_n_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn62_to_p_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn62_to_p_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn62_to_p_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn62_to_He4_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn62_to_He4_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn62_to_He4_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn63_to_n_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn63_to_n_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn63_to_n_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn63_to_p_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn63_to_p_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn63_to_p_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn63_to_He4_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn63_to_He4_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn63_to_He4_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn64_to_n_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn64_to_n_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn64_to_n_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn64_to_p_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn64_to_p_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn64_to_p_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn64_to_He4_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn64_to_He4_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn64_to_He4_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn65_to_n_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn65_to_n_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn65_to_n_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn65_to_p_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn65_to_p_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn65_to_p_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn65_to_He4_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn65_to_He4_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn65_to_He4_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn66_to_n_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn66_to_n_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn66_to_n_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn66_to_p_Cu65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn66_to_p_Cu65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn66_to_p_Cu65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Zn66_to_He4_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Zn66_to_He4_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Zn66_to_He4_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga62_to_p_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga62_to_p_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga62_to_p_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga62_to_He4_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga62_to_He4_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga62_to_He4_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga63_to_n_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga63_to_n_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga63_to_n_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga63_to_p_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga63_to_p_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga63_to_p_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga63_to_He4_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga63_to_He4_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga63_to_He4_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga64_to_n_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga64_to_n_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga64_to_n_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga64_to_p_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga64_to_p_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga64_to_p_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ga64_to_He4_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ga64_to_He4_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ga64_to_He4_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge63_to_p_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge63_to_p_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge63_to_p_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge63_to_He4_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge63_to_He4_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge63_to_He4_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge64_to_n_Ge63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge64_to_n_Ge63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge64_to_n_Ge63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge64_to_p_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge64_to_p_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge64_to_p_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Ge64_to_He4_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Ge64_to_He4_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ge64_to_He4_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Li6_to_n_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Li6_to_n_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Li6_to_n_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_Be9_to_n_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_Be9_to_n_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Be9_to_n_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_C12_to_He4_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_p_to_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_p_to_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_p_to_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_bet_pos(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_bet_pos) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_bet_pos) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_to_d_reaclib_electron_capture(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_to_d_reaclib_electron_capture) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_to_d_reaclib_electron_capture) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_d); + } +#endif + rate_p_d_to_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_d_to_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_d_to_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_d); + } +#endif + rate_d_d_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_d_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_d_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_He4); + } +#endif + rate_He4_d_to_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_d_to_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_d_to_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_He3_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_He3_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_He3_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He3); + } +#endif + rate_p_He3_to_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He3_to_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He3_to_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He3); + } +#endif + rate_He4_He3_to_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He3_to_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He3_to_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Li6_to_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Li6_to_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Li6_to_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li6); + } +#endif + rate_p_Li6_to_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li6_to_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li6_to_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Li6); + } +#endif + rate_He4_Li6_to_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Li6_to_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Li6_to_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Li7); + } +#endif + rate_He4_Li7_to_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Li7_to_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Li7_to_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be7); + } +#endif + rate_p_Be7_to_B8_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be7_to_B8_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be7_to_B8_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be9); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be9); + } +#endif + rate_p_Be9_to_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be9_to_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be9_to_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_B10_to_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_B10_to_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_B10_to_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_B11); + } +#endif + rate_p_B11_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_B11_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_B11_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_C12_to_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_C12_to_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_C12_to_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C12); + } +#endif + rate_p_C12_to_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_C13_to_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_C13_to_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_C13_to_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C14); + } +#endif + rate_p_C14_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C14_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C14_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C14); + } +#endif + rate_He4_C14_to_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C14_to_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C14_to_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N13_to_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N13_to_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N13_to_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N13); + } +#endif + rate_p_N13_to_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N14_to_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N14_to_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N14_to_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O14_to_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O14_to_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O14_to_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O15_to_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O15_to_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O15_to_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O16_to_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O16_to_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O16_to_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O17_to_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O17_to_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O17_to_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O17); + } +#endif + rate_He4_O17_to_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O18); + } +#endif + rate_He4_O18_to_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O18_to_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O18_to_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F17_to_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F17_to_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F17_to_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F17_to_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F18_to_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F18_to_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F18_to_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne18_to_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne18_to_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne18_to_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne19_to_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne19_to_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne19_to_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne19); + } +#endif + rate_He4_Ne19_to_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne19_to_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne20_to_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne20_to_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne20_to_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne21_to_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne21_to_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne21_to_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne21); + } +#endif + rate_He4_Ne21_to_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne21_to_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne21_to_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne22); + } +#endif + rate_p_Ne22_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne22_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne22_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne22); + } +#endif + rate_He4_Ne22_to_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne22_to_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne22_to_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na21_to_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na21_to_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na21_to_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na21); + } +#endif + rate_He4_Na21_to_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na21_to_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na21_to_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na22_to_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na22_to_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na22_to_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na22); + } +#endif + rate_p_Na22_to_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na22_to_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na22_to_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na22); + } +#endif + rate_He4_Na22_to_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na22_to_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na22_to_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na23); + } +#endif + rate_He4_Na23_to_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na23_to_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na23_to_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg24_to_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg24_to_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg24_to_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg24); + } +#endif + rate_p_Mg24_to_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg24_to_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg24_to_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg25_to_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg25_to_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg25_to_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg25); + } +#endif + rate_p_Mg25_to_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg25_to_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg25_to_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg25); + } +#endif + rate_He4_Mg25_to_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg25_to_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg25_to_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg26); + } +#endif + rate_p_Mg26_to_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg26_to_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg26_to_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg26); + } +#endif + rate_He4_Mg26_to_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg26_to_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg26_to_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al25_to_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al25_to_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al25_to_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al25); + } +#endif + rate_He4_Al25_to_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al25_to_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al25_to_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al26_to_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al26_to_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al26_to_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al26); + } +#endif + rate_He4_Al26_to_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al26_to_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al26_to_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al27); + } +#endif + rate_He4_Al27_to_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al27_to_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al27_to_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si28_to_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si28_to_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si28_to_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si28); + } +#endif + rate_p_Si28_to_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si28_to_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si28_to_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si29_to_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si29_to_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si29_to_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si29); + } +#endif + rate_p_Si29_to_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si29_to_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si29_to_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si29); + } +#endif + rate_He4_Si29_to_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si29_to_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si29_to_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si30_to_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si30_to_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si30_to_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si30); + } +#endif + rate_p_Si30_to_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si30_to_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si30_to_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si30); + } +#endif + rate_He4_Si30_to_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si30_to_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si30_to_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si31_to_Si32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si31_to_Si32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si31_to_Si32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si31); + } +#endif + rate_p_Si31_to_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si31_to_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si31_to_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si31); + } +#endif + rate_He4_Si31_to_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si31_to_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si31_to_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si32); + } +#endif + rate_p_Si32_to_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si32_to_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si32_to_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si32); + } +#endif + rate_He4_Si32_to_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si32_to_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si32_to_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P29_to_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P29_to_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P29_to_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P29); + } +#endif + rate_He4_P29_to_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P29_to_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P29_to_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P30_to_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P30_to_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P30_to_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P30); + } +#endif + rate_He4_P30_to_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P30_to_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P30_to_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P31_to_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P31_to_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P31_to_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P31); + } +#endif + rate_He4_P31_to_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P31_to_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P31_to_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P32_to_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P32_to_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P32_to_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P32); + } +#endif + rate_p_P32_to_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P32_to_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P32_to_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P32); + } +#endif + rate_He4_P32_to_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P32_to_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P32_to_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P33); + } +#endif + rate_p_P33_to_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P33_to_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P33_to_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P33); + } +#endif + rate_He4_P33_to_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P33_to_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P33_to_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S32_to_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S32_to_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S32_to_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S32); + } +#endif + rate_p_S32_to_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S32_to_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S32_to_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S33_to_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S33_to_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S33_to_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S33); + } +#endif + rate_p_S33_to_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S33_to_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S33_to_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S33); + } +#endif + rate_He4_S33_to_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S33_to_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S33_to_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S34_to_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S34_to_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S34_to_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S34); + } +#endif + rate_p_S34_to_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S34_to_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S34_to_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S34); + } +#endif + rate_He4_S34_to_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S34_to_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S34_to_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S35_to_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S35_to_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S35_to_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S35); + } +#endif + rate_p_S35_to_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S35_to_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S35_to_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S35); + } +#endif + rate_He4_S35_to_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S35_to_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S35_to_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S36); + } +#endif + rate_p_S36_to_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S36_to_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S36_to_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S36); + } +#endif + rate_He4_S36_to_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S36_to_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S36_to_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl33_to_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl33_to_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl33_to_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl33); + } +#endif + rate_He4_Cl33_to_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl33_to_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl33_to_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl34_to_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl34_to_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl34_to_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl34); + } +#endif + rate_He4_Cl34_to_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl34_to_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl34_to_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl35_to_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl35_to_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl35_to_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl35); + } +#endif + rate_He4_Cl35_to_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl35_to_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl35_to_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl36_to_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl36_to_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl36_to_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl36); + } +#endif + rate_p_Cl36_to_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl36_to_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl36_to_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl36); + } +#endif + rate_He4_Cl36_to_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl36_to_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl36_to_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl37); + } +#endif + rate_p_Cl37_to_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl37_to_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl37_to_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl37); + } +#endif + rate_He4_Cl37_to_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl37_to_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl37_to_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar36_to_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar36_to_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar36_to_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar36); + } +#endif + rate_p_Ar36_to_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar36_to_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar36_to_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar37_to_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar37_to_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar37_to_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar37); + } +#endif + rate_p_Ar37_to_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar37_to_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar37_to_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar37); + } +#endif + rate_He4_Ar37_to_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar37_to_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar37_to_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar38_to_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar38_to_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar38_to_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar38); + } +#endif + rate_p_Ar38_to_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar38_to_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar38_to_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar38); + } +#endif + rate_He4_Ar38_to_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar38_to_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar38_to_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar39_to_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar39_to_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar39_to_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar39); + } +#endif + rate_p_Ar39_to_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar39_to_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar39_to_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar39); + } +#endif + rate_He4_Ar39_to_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar39_to_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar39_to_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar40); + } +#endif + rate_p_Ar40_to_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar40_to_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar40_to_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar40); + } +#endif + rate_He4_Ar40_to_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar40_to_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar40_to_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K37_to_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K37_to_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K37_to_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K38_to_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K38_to_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K38_to_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K39_to_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K39_to_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K39_to_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K39); + } +#endif + rate_He4_K39_to_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K39_to_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K39_to_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K40_to_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K40_to_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K40_to_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K40); + } +#endif + rate_p_K40_to_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K40_to_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K40_to_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K40); + } +#endif + rate_He4_K40_to_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K40_to_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K40_to_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K41); + } +#endif + rate_p_K41_to_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K41_to_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K41_to_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K41); + } +#endif + rate_He4_K41_to_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K41_to_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K41_to_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca40_to_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca40_to_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca40_to_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca41_to_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca41_to_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca41_to_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca41); + } +#endif + rate_He4_Ca41_to_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca41_to_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca41_to_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca42_to_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca42_to_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca42_to_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca42); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca42); + } +#endif + rate_p_Ca42_to_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca42_to_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca42_to_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca42); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca42); + } +#endif + rate_He4_Ca42_to_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca42_to_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca42_to_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca43_to_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca43_to_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca43_to_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca43); + } +#endif + rate_p_Ca43_to_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca43_to_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca43_to_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca43); + } +#endif + rate_He4_Ca43_to_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca43_to_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca43_to_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca44_to_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca44_to_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca44_to_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca44); + } +#endif + rate_p_Ca44_to_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca44_to_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca44_to_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca44); + } +#endif + rate_He4_Ca44_to_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca44_to_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca44_to_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca45_to_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca45_to_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca45_to_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca45); + } +#endif + rate_p_Ca45_to_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca45_to_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca45_to_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca45); + } +#endif + rate_He4_Ca45_to_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca45_to_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca45_to_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca46_to_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca46_to_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca46_to_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca46); + } +#endif + rate_p_Ca46_to_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca46_to_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca46_to_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca46); + } +#endif + rate_He4_Ca46_to_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca46_to_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca46_to_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca47_to_Ca48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca47_to_Ca48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca47_to_Ca48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca47); + } +#endif + rate_p_Ca47_to_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca47_to_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca47_to_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca47); + } +#endif + rate_He4_Ca47_to_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca47_to_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca47_to_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca48); + } +#endif + rate_p_Ca48_to_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca48_to_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca48_to_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc43_to_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc43_to_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc43_to_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc43); + } +#endif + rate_He4_Sc43_to_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc43_to_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc43_to_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc44_to_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc44_to_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc44_to_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc44); + } +#endif + rate_p_Sc44_to_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc44_to_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc44_to_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc44); + } +#endif + rate_He4_Sc44_to_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc44_to_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc44_to_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc45_to_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc45_to_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc45_to_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc45); + } +#endif + rate_p_Sc45_to_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc45_to_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc45_to_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc45); + } +#endif + rate_He4_Sc45_to_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc45_to_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc45_to_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc46_to_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc46_to_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc46_to_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc46); + } +#endif + rate_p_Sc46_to_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc46_to_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc46_to_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc46); + } +#endif + rate_He4_Sc46_to_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc46_to_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc46_to_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc47_to_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc47_to_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc47_to_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc47); + } +#endif + rate_p_Sc47_to_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc47_to_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc47_to_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc47); + } +#endif + rate_He4_Sc47_to_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc47_to_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc47_to_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc48_to_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc48_to_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc48_to_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc48); + } +#endif + rate_p_Sc48_to_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc48_to_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc48_to_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc48); + } +#endif + rate_He4_Sc48_to_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc48_to_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc48_to_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc49); + } +#endif + rate_p_Sc49_to_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc49_to_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc49_to_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti44_to_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti44_to_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti44_to_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti45_to_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti45_to_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti45_to_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti45); + } +#endif + rate_p_Ti45_to_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti45_to_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti45_to_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti45); + } +#endif + rate_He4_Ti45_to_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti45_to_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti45_to_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti46_to_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti46_to_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti46_to_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti46); + } +#endif + rate_p_Ti46_to_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti46_to_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti46_to_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti46); + } +#endif + rate_He4_Ti46_to_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti46_to_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti46_to_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti47_to_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti47_to_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti47_to_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti47); + } +#endif + rate_p_Ti47_to_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti47_to_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti47_to_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti47); + } +#endif + rate_He4_Ti47_to_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti47_to_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti47_to_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti48_to_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti48_to_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti48_to_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti48); + } +#endif + rate_p_Ti48_to_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti48_to_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti48_to_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti48); + } +#endif + rate_He4_Ti48_to_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti48_to_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti48_to_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti49_to_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti49_to_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti49_to_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti49); + } +#endif + rate_p_Ti49_to_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti49_to_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti49_to_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti49); + } +#endif + rate_He4_Ti49_to_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti49_to_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti49_to_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti50_to_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti50_to_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti50_to_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti50); + } +#endif + rate_p_Ti50_to_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti50_to_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti50_to_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti50); + } +#endif + rate_He4_Ti50_to_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti50_to_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti50_to_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti51); + } +#endif + rate_p_Ti51_to_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti51_to_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti51_to_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V46_to_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V46_to_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V46_to_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V46); + } +#endif + rate_He4_V46_to_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V46_to_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V46_to_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V47_to_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V47_to_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V47_to_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V47); + } +#endif + rate_He4_V47_to_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V47_to_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V47_to_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V48_to_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V48_to_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V48_to_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V48); + } +#endif + rate_p_V48_to_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V48_to_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V48_to_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V48); + } +#endif + rate_He4_V48_to_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V48_to_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V48_to_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V49_to_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V49_to_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V49_to_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V49); + } +#endif + rate_p_V49_to_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V49_to_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V49_to_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V49); + } +#endif + rate_He4_V49_to_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V49_to_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V49_to_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V50_to_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V50_to_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V50_to_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V50); + } +#endif + rate_p_V50_to_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V50_to_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V50_to_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V50); + } +#endif + rate_He4_V50_to_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V50_to_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V50_to_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V51_to_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V51_to_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V51_to_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V51); + } +#endif + rate_p_V51_to_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V51_to_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V51_to_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V51); + } +#endif + rate_He4_V51_to_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V51_to_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V51_to_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V52); + } +#endif + rate_p_V52_to_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V52_to_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V52_to_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr48_to_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr48_to_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr48_to_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr49_to_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr49_to_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr49_to_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr49); + } +#endif + rate_p_Cr49_to_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr49_to_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr49_to_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr49); + } +#endif + rate_He4_Cr49_to_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr49_to_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr49_to_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr50_to_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr50_to_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr50_to_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr50); + } +#endif + rate_p_Cr50_to_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr50_to_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr50_to_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr50); + } +#endif + rate_He4_Cr50_to_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr50_to_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr50_to_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr51_to_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr51_to_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr51_to_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr51); + } +#endif + rate_p_Cr51_to_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr51_to_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr51_to_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr51); + } +#endif + rate_He4_Cr51_to_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr51_to_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr51_to_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr52_to_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr52_to_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr52_to_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr52); + } +#endif + rate_p_Cr52_to_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr52_to_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr52_to_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr52); + } +#endif + rate_He4_Cr52_to_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr52_to_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr52_to_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr53_to_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr53_to_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr53_to_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr53); + } +#endif + rate_p_Cr53_to_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr53_to_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr53_to_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr53); + } +#endif + rate_He4_Cr53_to_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr53_to_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr53_to_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr54); + } +#endif + rate_p_Cr54_to_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr54_to_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr54_to_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr54); + } +#endif + rate_He4_Cr54_to_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr54_to_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr54_to_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn50_to_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn50_to_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn50_to_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn50); + } +#endif + rate_He4_Mn50_to_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn50_to_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn50_to_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn51_to_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn51_to_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn51_to_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn52_to_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn52_to_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn52_to_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn52); + } +#endif + rate_p_Mn52_to_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn52_to_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn52_to_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn52); + } +#endif + rate_He4_Mn52_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn52_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn52_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn53_to_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn53_to_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn53_to_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn53); + } +#endif + rate_p_Mn53_to_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn53_to_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn53_to_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn53); + } +#endif + rate_He4_Mn53_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn53_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn53_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn54_to_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn54_to_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn54_to_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn54); + } +#endif + rate_p_Mn54_to_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn54_to_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn54_to_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn54); + } +#endif + rate_He4_Mn54_to_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn54_to_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn54_to_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn55); + } +#endif + rate_p_Mn55_to_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn55_to_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn55_to_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn55); + } +#endif + rate_He4_Mn55_to_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn55_to_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn55_to_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe52); + } +#endif + rate_p_Fe52_to_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe52_to_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe52_to_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe53); + } +#endif + rate_p_Fe53_to_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe53_to_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe53_to_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe53_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe54_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe55); + } +#endif + rate_p_Fe55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe55); + } +#endif + rate_He4_Fe55_to_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe55_to_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe55_to_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe56_to_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe56_to_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe56_to_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe56); + } +#endif + rate_He4_Fe56_to_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe56_to_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe56_to_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe57_to_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe57_to_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe57_to_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe57); + } +#endif + rate_p_Fe57_to_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe57_to_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe57_to_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe57); + } +#endif + rate_He4_Fe57_to_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe57_to_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe57_to_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe58); + } +#endif + rate_p_Fe58_to_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe58_to_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe58_to_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe58); + } +#endif + rate_He4_Fe58_to_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe58_to_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe58_to_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co53_to_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co53_to_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co53_to_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co53); + } +#endif + rate_He4_Co53_to_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co53_to_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co53_to_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co54_to_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co54_to_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co54_to_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co54); + } +#endif + rate_He4_Co54_to_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co54_to_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co54_to_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co56_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co56); + } +#endif + rate_He4_Co56_to_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co56_to_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co56_to_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co57_to_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co57_to_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co57_to_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co57); + } +#endif + rate_He4_Co57_to_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co57_to_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co57_to_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co58_to_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co58_to_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co58_to_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co58); + } +#endif + rate_p_Co58_to_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co58_to_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co58_to_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co58); + } +#endif + rate_He4_Co58_to_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co58_to_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co58_to_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co59); + } +#endif + rate_p_Co59_to_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co59_to_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co59_to_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co59); + } +#endif + rate_He4_Co59_to_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co59_to_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co59_to_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni56); + } +#endif + rate_p_Ni56_to_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni56_to_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni56_to_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni56); + } +#endif + rate_He4_Ni56_to_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni56_to_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni56_to_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni57); + } +#endif + rate_p_Ni57_to_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni57_to_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni57_to_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni57); + } +#endif + rate_He4_Ni57_to_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni57_to_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni57_to_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni58_to_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni58_to_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni58_to_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni58_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni58); + } +#endif + rate_He4_Ni58_to_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni58_to_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni58_to_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni59_to_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni59_to_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni59_to_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni59); + } +#endif + rate_p_Ni59_to_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni59_to_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni59_to_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni59); + } +#endif + rate_He4_Ni59_to_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni59_to_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni59_to_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni60_to_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni60_to_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni60_to_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni60); + } +#endif + rate_p_Ni60_to_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni60_to_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni60_to_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni60); + } +#endif + rate_He4_Ni60_to_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni60_to_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni60_to_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni61_to_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni61_to_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni61_to_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni61); + } +#endif + rate_p_Ni61_to_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni61_to_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni61_to_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni61); + } +#endif + rate_He4_Ni61_to_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni61_to_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni61_to_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni62_to_Ni63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni62_to_Ni63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni62_to_Ni63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni62); + } +#endif + rate_p_Ni62_to_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni62_to_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni62_to_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni62); + } +#endif + rate_He4_Ni62_to_Zn66_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni62_to_Zn66_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni62_to_Zn66_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni63_to_Ni64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni63_to_Ni64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni63_to_Ni64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni63); + } +#endif + rate_p_Ni63_to_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni63_to_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni63_to_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni64); + } +#endif + rate_p_Ni64_to_Cu65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni64_to_Cu65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni64_to_Cu65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu57_to_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu57_to_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu57_to_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu58_to_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu58_to_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu58_to_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu58); + } +#endif + rate_p_Cu58_to_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu58_to_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu58_to_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu58); + } +#endif + rate_He4_Cu58_to_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu58_to_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu58_to_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu59_to_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu59_to_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu59_to_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu59); + } +#endif + rate_p_Cu59_to_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu59_to_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu59_to_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu59); + } +#endif + rate_He4_Cu59_to_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu59_to_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu59_to_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu60_to_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu60_to_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu60_to_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu60); + } +#endif + rate_p_Cu60_to_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu60_to_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu60_to_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu60); + } +#endif + rate_He4_Cu60_to_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu60_to_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu60_to_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu61_to_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu61_to_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu61_to_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu61); + } +#endif + rate_p_Cu61_to_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu61_to_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu61_to_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu62_to_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu62_to_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu62_to_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu62); + } +#endif + rate_p_Cu62_to_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu62_to_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu62_to_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu63_to_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu63_to_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu63_to_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu63); + } +#endif + rate_p_Cu63_to_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu63_to_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu63_to_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu64_to_Cu65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu64_to_Cu65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu64_to_Cu65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu64); + } +#endif + rate_p_Cu64_to_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu64_to_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu64_to_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu65); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu65); + } +#endif + rate_p_Cu65_to_Zn66_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu65_to_Zn66_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu65_to_Zn66_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn59_to_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn59_to_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn59_to_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn59); + } +#endif + rate_He4_Zn59_to_Ge63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn59_to_Ge63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn59_to_Ge63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn60_to_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn60_to_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn60_to_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn60); + } +#endif + rate_He4_Zn60_to_Ge64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn60_to_Ge64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn60_to_Ge64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn61_to_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn61_to_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn61_to_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn61); + } +#endif + rate_p_Zn61_to_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn61_to_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn61_to_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn62_to_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn62_to_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn62_to_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn62); + } +#endif + rate_p_Zn62_to_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn62_to_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn62_to_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn63_to_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn63_to_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn63_to_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn63); + } +#endif + rate_p_Zn63_to_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn63_to_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn63_to_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn64_to_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn64_to_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn64_to_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn65_to_Zn66_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn65_to_Zn66_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn65_to_Zn66_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga62_to_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga62_to_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga62_to_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga62); + } +#endif + rate_p_Ga62_to_Ge63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga62_to_Ge63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga62_to_Ge63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga63_to_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga63_to_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga63_to_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga63); + } +#endif + rate_p_Ga63_to_Ge64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga63_to_Ge64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga63_to_Ge64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ge63_to_Ge64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ge63_to_Ge64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ge63_to_Ge64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_d); + } +#endif + rate_d_d_to_n_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_d_to_n_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_d_to_n_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_He3_to_d_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_He3_to_d_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_He3_to_d_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_He3); + } +#endif + rate_d_He3_to_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_He3_to_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_He3_to_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He3); + } +#endif + rate_He4_He3_to_p_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He3_to_p_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He3_to_p_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4); + } +#endif + rate_p_He4_to_d_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He4_to_d_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He4_to_d_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4); + } +#endif + rate_He4_He4_to_n_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_to_n_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_to_n_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4); + } +#endif + rate_He4_He4_to_p_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_to_p_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_to_p_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li6); + } +#endif + rate_p_Li6_to_He4_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li6_to_He4_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li6_to_He4_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Li6); + } +#endif + rate_d_Li6_to_n_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Li6_to_n_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Li6_to_n_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Li6); + } +#endif + rate_d_Li6_to_p_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Li6_to_p_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Li6_to_p_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Li6); + } +#endif + rate_He4_Li6_to_p_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Li6_to_p_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Li6_to_p_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li7); + } +#endif + rate_p_Li7_to_n_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li7_to_n_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li7_to_n_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li7); + } +#endif + rate_p_Li7_to_d_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li7_to_d_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li7_to_d_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Li7); + } +#endif + rate_p_Li7_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Li7_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Li7_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Li7); + } +#endif + rate_He4_Li7_to_n_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Li7_to_n_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Li7_to_n_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Be7_to_p_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Be7_to_p_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Be7_to_p_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Be7_to_d_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Be7_to_d_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Be7_to_d_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Be7_to_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Be7_to_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Be7_to_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Be7); + } +#endif + rate_He4_Be7_to_p_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Be7_to_p_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Be7_to_p_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be9); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be9); + } +#endif + rate_p_Be9_to_He4_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be9_to_He4_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be9_to_He4_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Be9); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Be9); + } +#endif + rate_He4_Be9_to_n_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Be9_to_n_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Be9_to_n_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_B10_to_He4_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_B10_to_He4_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_B10_to_He4_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_B10); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_B10); + } +#endif + rate_p_B10_to_He4_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_B10_to_He4_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_B10_to_He4_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_B10); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_B10); + } +#endif + rate_He4_B10_to_n_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_B10_to_n_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_B10_to_n_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_B10); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_B10); + } +#endif + rate_He4_B10_to_p_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_B10_to_p_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_B10_to_p_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_B11); + } +#endif + rate_He4_B11_to_n_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_B11_to_n_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_B11_to_n_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_B11); + } +#endif + rate_He4_B11_to_p_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_B11_to_p_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_B11_to_p_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_C12_to_He4_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_C12_to_He4_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_C12_to_He4_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_n_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_n_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_n_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C12); + } +#endif + rate_He4_C12_to_p_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_p_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_n_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_C12); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_C12); + } +#endif + rate_C12_C12_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_n_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_n_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_n_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C13); + } +#endif + rate_p_C13_to_He4_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_He4_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_He4_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_C13); + } +#endif + rate_d_C13_to_n_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_C13_to_n_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_C13_to_n_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C13); + } +#endif + rate_He4_C13_to_n_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C13_to_n_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C13_to_n_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C14); + } +#endif + rate_p_C14_to_n_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C14_to_n_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C14_to_n_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_C14); + } +#endif + rate_p_C14_to_He4_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_C14_to_He4_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C14_to_He4_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_C14); + } +#endif + rate_d_C14_to_n_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_C14_to_n_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_C14_to_n_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_C14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_C14); + } +#endif + rate_He4_C14_to_n_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_C14_to_n_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C14_to_n_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N13_to_p_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N13_to_p_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N13_to_p_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N13_to_He4_B10_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N13_to_He4_B10_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N13_to_He4_B10_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N13); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N13); + } +#endif + rate_He4_N13_to_p_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N14_to_p_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N14_to_p_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N14_to_p_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N14_to_d_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N14_to_d_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N14_to_d_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N14_to_He4_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N14_to_He4_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N14_to_He4_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N14); + } +#endif + rate_p_N14_to_n_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_n_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_n_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_n_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_n_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_n_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N14); + } +#endif + rate_He4_N14_to_p_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_p_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_N15_to_d_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_N15_to_d_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_N15_to_d_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_n_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_n_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_n_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_N15); + } +#endif + rate_p_N15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_n_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_n_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_n_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_N15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_N15); + } +#endif + rate_He4_N15_to_p_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_p_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O14_to_p_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O14_to_p_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O14_to_p_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O14); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O14); + } +#endif + rate_He4_O14_to_p_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O15_to_p_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O15_to_p_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O15_to_p_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O15_to_He4_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O15_to_He4_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O15_to_He4_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_n_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_n_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_n_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O15); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O15); + } +#endif + rate_He4_O15_to_p_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_p_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O16_to_He4_C13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O16_to_He4_C13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O16_to_He4_C13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O16); + } +#endif + rate_p_O16_to_He4_N13_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_He4_N13_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_n_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_n_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_n_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O16); + } +#endif + rate_He4_O16_to_p_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_p_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_O16); + } +#endif + rate_C12_O16_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_O16_O16); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_O16_O16); + } +#endif + rate_O16_O16_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_O17_to_He4_C14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_O17_to_He4_C14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_O17_to_He4_C14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_n_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_n_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_n_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O17); + } +#endif + rate_p_O17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O17); + } +#endif + rate_He4_O17_to_n_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_n_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_n_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_n_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_n_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_n_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_O18); + } +#endif + rate_p_O18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_O18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_O18); + } +#endif + rate_He4_O18_to_n_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_O18_to_n_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O18_to_n_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F17_to_p_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F17_to_p_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F17_to_p_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F17_to_He4_N14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F17_to_He4_N14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F17_to_He4_N14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F17); + } +#endif + rate_p_F17_to_He4_O14_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_He4_O14_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F17); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F17); + } +#endif + rate_He4_F17_to_p_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F18_to_p_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F18_to_p_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F18_to_p_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_F18_to_He4_N15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_F18_to_He4_N15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_F18_to_He4_N15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_n_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_n_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_n_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F18); + } +#endif + rate_p_F18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_n_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_n_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_n_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F18); + } +#endif + rate_He4_F18_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_n_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_n_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_n_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_F19); + } +#endif + rate_p_F19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_n_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_n_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_n_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_F19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_F19); + } +#endif + rate_He4_F19_to_p_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_p_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_p_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne18_to_p_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne18_to_p_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne18_to_p_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne18_to_He4_O15_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne18_to_He4_O15_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne18_to_He4_O15_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne18); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne18); + } +#endif + rate_He4_Ne18_to_p_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne18_to_p_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_p_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne19_to_p_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne19_to_p_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne19_to_p_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne19_to_He4_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne19_to_He4_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne19_to_He4_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne19); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne19); + } +#endif + rate_He4_Ne19_to_p_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne19_to_p_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne20_to_He4_O17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne20_to_He4_O17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne20_to_He4_O17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne20); + } +#endif + rate_p_Ne20_to_He4_F17_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_n_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne20); + } +#endif + rate_He4_Ne20_to_C12_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_C12_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_C12_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_Ne20); + } +#endif + rate_C12_Ne20_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_Ne20_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_Ne20_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_C12_Ne20); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_C12_Ne20); + } +#endif + rate_C12_Ne20_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_C12_Ne20_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_Ne20_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ne21_to_He4_O18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ne21_to_He4_O18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ne21_to_He4_O18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_n_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_n_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_n_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne21); + } +#endif + rate_p_Ne21_to_He4_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne21); + } +#endif + rate_He4_Ne21_to_n_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne21_to_n_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne21_to_n_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne22); + } +#endif + rate_p_Ne22_to_n_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne22_to_n_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne22_to_n_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ne22); + } +#endif + rate_p_Ne22_to_He4_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne22_to_He4_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne22_to_He4_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ne22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ne22); + } +#endif + rate_He4_Ne22_to_n_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne22_to_n_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne22_to_n_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na21_to_p_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na21_to_p_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na21_to_p_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na21_to_He4_F18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na21_to_He4_F18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na21_to_He4_F18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na21); + } +#endif + rate_p_Na21_to_He4_Ne18_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na21_to_He4_Ne18_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na21_to_He4_Ne18_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na21); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na21); + } +#endif + rate_He4_Na21_to_p_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na21_to_p_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na21_to_p_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na22_to_p_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na22_to_p_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na22_to_p_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Na22_to_He4_F19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Na22_to_He4_F19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Na22_to_He4_F19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na22); + } +#endif + rate_p_Na22_to_He4_Ne19_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na22_to_He4_Ne19_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na22); + } +#endif + rate_He4_Na22_to_n_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na22_to_n_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na22_to_n_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na22); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na22); + } +#endif + rate_He4_Na22_to_p_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na22_to_p_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na22_to_p_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_n_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_n_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_n_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Na23); + } +#endif + rate_p_Na23_to_C12_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_C12_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_C12_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na23); + } +#endif + rate_He4_Na23_to_n_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na23_to_n_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na23_to_n_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Na23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Na23); + } +#endif + rate_He4_Na23_to_p_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Na23_to_p_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Na23_to_p_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_p_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_p_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_p_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_He4_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_He4_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_He4_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg23_to_C12_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg23_to_C12_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg23_to_C12_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg23); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg23); + } +#endif + rate_He4_Mg23_to_p_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg23_to_p_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg23_to_p_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg24_to_He4_Ne21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg24_to_He4_Ne21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg24_to_He4_Ne21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg24); + } +#endif + rate_p_Mg24_to_He4_Na21_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg24_to_He4_Na21_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg24_to_He4_Na21_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_p_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg24); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg24); + } +#endif + rate_He4_Mg24_to_C12_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_C12_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_C12_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mg25_to_He4_Ne22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mg25_to_He4_Ne22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mg25_to_He4_Ne22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg25); + } +#endif + rate_p_Mg25_to_n_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg25_to_n_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg25_to_n_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg25); + } +#endif + rate_p_Mg25_to_He4_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg25_to_He4_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg25_to_He4_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg25); + } +#endif + rate_He4_Mg25_to_n_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg25_to_n_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg25_to_n_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg26); + } +#endif + rate_p_Mg26_to_n_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg26_to_n_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg26_to_n_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mg26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mg26); + } +#endif + rate_p_Mg26_to_He4_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mg26_to_He4_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mg26_to_He4_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mg26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mg26); + } +#endif + rate_He4_Mg26_to_n_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg26_to_n_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg26_to_n_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al25_to_p_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al25_to_p_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al25_to_p_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al25_to_He4_Na22_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al25_to_He4_Na22_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al25_to_He4_Na22_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al25); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al25); + } +#endif + rate_He4_Al25_to_p_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al25_to_p_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al25_to_p_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al26_to_p_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al26_to_p_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al26_to_p_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Al26_to_He4_Na23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Al26_to_He4_Na23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Al26_to_He4_Na23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al26); + } +#endif + rate_p_Al26_to_He4_Mg23_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al26_to_He4_Mg23_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al26_to_He4_Mg23_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al26); + } +#endif + rate_He4_Al26_to_n_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al26_to_n_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al26_to_n_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al26); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al26); + } +#endif + rate_He4_Al26_to_p_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al26_to_p_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al26_to_p_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_He4_Mg24_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Al27); + } +#endif + rate_p_Al27_to_C12_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_C12_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_C12_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al27); + } +#endif + rate_He4_Al27_to_n_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al27_to_n_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al27_to_n_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Al27); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Al27); + } +#endif + rate_He4_Al27_to_p_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Al27_to_p_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Al27_to_p_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si28_to_He4_Mg25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si28_to_He4_Mg25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si28_to_He4_Mg25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si28); + } +#endif + rate_p_Si28_to_He4_Al25_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si28_to_He4_Al25_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si28_to_He4_Al25_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_p_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_C12_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_C12_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_C12_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si28); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si28); + } +#endif + rate_He4_Si28_to_O16_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_O16_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_O16_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Si29_to_He4_Mg26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Si29_to_He4_Mg26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Si29_to_He4_Mg26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si29); + } +#endif + rate_p_Si29_to_n_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si29_to_n_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si29_to_n_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si29); + } +#endif + rate_p_Si29_to_He4_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si29_to_He4_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si29_to_He4_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si29); + } +#endif + rate_He4_Si29_to_n_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si29_to_n_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si29_to_n_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si29); + } +#endif + rate_He4_Si29_to_p_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si29_to_p_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si29_to_p_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si30); + } +#endif + rate_p_Si30_to_n_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si30_to_n_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si30_to_n_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si30); + } +#endif + rate_p_Si30_to_He4_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si30_to_He4_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si30_to_He4_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si30); + } +#endif + rate_He4_Si30_to_n_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si30_to_n_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si30_to_n_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si30); + } +#endif + rate_He4_Si30_to_p_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si30_to_p_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si30_to_p_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si31); + } +#endif + rate_p_Si31_to_n_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si31_to_n_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si31_to_n_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si31); + } +#endif + rate_He4_Si31_to_n_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si31_to_n_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si31_to_n_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Si32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Si32); + } +#endif + rate_p_Si32_to_n_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Si32_to_n_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Si32_to_n_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Si32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Si32); + } +#endif + rate_He4_Si32_to_n_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si32_to_n_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si32_to_n_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P29_to_p_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P29_to_p_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P29_to_p_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P29_to_He4_Al26_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P29_to_He4_Al26_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P29_to_He4_Al26_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P29); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P29); + } +#endif + rate_He4_P29_to_p_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P29_to_p_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P29_to_p_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P30_to_p_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P30_to_p_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P30_to_p_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P30_to_He4_Al27_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P30_to_He4_Al27_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P30_to_He4_Al27_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P30); + } +#endif + rate_He4_P30_to_n_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P30_to_n_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P30_to_n_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P30); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P30); + } +#endif + rate_He4_P30_to_p_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P30_to_p_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P30_to_p_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P31_to_p_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P31_to_p_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P31_to_p_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_He4_Si28_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_C12_Ne20_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_C12_Ne20_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_C12_Ne20_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P31); + } +#endif + rate_p_P31_to_O16_O16_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_O16_O16_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_O16_O16_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P31); + } +#endif + rate_He4_P31_to_n_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P31_to_n_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P31_to_n_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P31); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P31); + } +#endif + rate_He4_P31_to_p_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P31_to_p_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P31_to_p_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_P32_to_p_Si32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_P32_to_p_Si32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_P32_to_p_Si32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P32); + } +#endif + rate_p_P32_to_n_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P32_to_n_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P32_to_n_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P32); + } +#endif + rate_p_P32_to_He4_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P32_to_He4_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P32_to_He4_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P32); + } +#endif + rate_He4_P32_to_n_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P32_to_n_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P32_to_n_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P32); + } +#endif + rate_He4_P32_to_p_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P32_to_p_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P32_to_p_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P33); + } +#endif + rate_p_P33_to_n_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P33_to_n_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P33_to_n_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_P33); + } +#endif + rate_p_P33_to_He4_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_P33_to_He4_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P33_to_He4_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P33); + } +#endif + rate_He4_P33_to_n_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P33_to_n_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P33_to_n_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_P33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_P33); + } +#endif + rate_He4_P33_to_p_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_P33_to_p_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_P33_to_p_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S32_to_p_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S32_to_p_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S32_to_p_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S32_to_He4_Si29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S32_to_He4_Si29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S32_to_He4_Si29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S32); + } +#endif + rate_p_S32_to_He4_P29_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S32_to_He4_P29_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S32_to_He4_P29_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S32); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S32); + } +#endif + rate_He4_S32_to_p_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S33_to_p_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S33_to_p_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S33_to_p_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S33_to_He4_Si30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S33_to_He4_Si30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S33_to_He4_Si30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S33); + } +#endif + rate_p_S33_to_n_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S33_to_n_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S33_to_n_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S33); + } +#endif + rate_p_S33_to_He4_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S33_to_He4_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S33_to_He4_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S33); + } +#endif + rate_He4_S33_to_n_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S33_to_n_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S33_to_n_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S33); + } +#endif + rate_He4_S33_to_p_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S33_to_p_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S33_to_p_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S34_to_He4_Si31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S34_to_He4_Si31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S34_to_He4_Si31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S34); + } +#endif + rate_p_S34_to_n_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S34_to_n_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S34_to_n_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S34); + } +#endif + rate_p_S34_to_He4_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S34_to_He4_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S34_to_He4_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S34); + } +#endif + rate_He4_S34_to_n_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S34_to_n_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S34_to_n_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S34); + } +#endif + rate_He4_S34_to_p_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S34_to_p_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S34_to_p_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_S35_to_He4_Si32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_S35_to_He4_Si32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_S35_to_He4_Si32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S35); + } +#endif + rate_p_S35_to_n_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S35_to_n_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S35_to_n_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S35); + } +#endif + rate_p_S35_to_He4_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S35_to_He4_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S35_to_He4_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S35); + } +#endif + rate_He4_S35_to_n_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S35_to_n_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S35_to_n_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S36); + } +#endif + rate_p_S36_to_n_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S36_to_n_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S36_to_n_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_S36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_S36); + } +#endif + rate_p_S36_to_He4_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_S36_to_He4_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_S36_to_He4_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_S36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_S36); + } +#endif + rate_He4_S36_to_n_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_S36_to_n_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S36_to_n_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl33_to_p_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl33_to_p_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl33_to_p_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl33_to_He4_P30_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl33_to_He4_P30_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl33_to_He4_P30_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl33); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl33); + } +#endif + rate_He4_Cl33_to_p_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl33_to_p_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl33_to_p_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl34_to_p_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl34_to_p_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl34_to_p_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl34_to_He4_P31_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl34_to_He4_P31_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl34_to_He4_P31_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl34); + } +#endif + rate_He4_Cl34_to_n_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl34_to_n_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl34_to_n_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl34); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl34); + } +#endif + rate_He4_Cl34_to_p_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl34_to_p_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl34_to_p_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl35_to_p_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl35_to_p_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl35_to_p_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl35_to_He4_P32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl35_to_He4_P32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl35_to_He4_P32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl35); + } +#endif + rate_p_Cl35_to_He4_S32_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl35); + } +#endif + rate_He4_Cl35_to_n_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl35_to_n_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl35_to_n_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl35); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl35); + } +#endif + rate_He4_Cl35_to_p_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl35_to_p_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl35_to_p_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl36_to_p_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl36_to_p_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl36_to_p_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cl36_to_He4_P33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cl36_to_He4_P33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cl36_to_He4_P33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl36); + } +#endif + rate_p_Cl36_to_n_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl36_to_n_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl36_to_n_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl36); + } +#endif + rate_p_Cl36_to_He4_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl36_to_He4_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl36_to_He4_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl36); + } +#endif + rate_He4_Cl36_to_n_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl36_to_n_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl36_to_n_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl36); + } +#endif + rate_He4_Cl36_to_p_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl36_to_p_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl36_to_p_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl37); + } +#endif + rate_p_Cl37_to_n_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl37_to_n_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl37_to_n_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cl37); + } +#endif + rate_p_Cl37_to_He4_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl37_to_He4_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl37_to_He4_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl37); + } +#endif + rate_He4_Cl37_to_n_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl37_to_n_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl37_to_n_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cl37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cl37); + } +#endif + rate_He4_Cl37_to_p_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cl37_to_p_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cl37_to_p_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar36_to_p_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar36_to_p_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar36_to_p_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar36_to_He4_S33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar36_to_He4_S33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar36_to_He4_S33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar36); + } +#endif + rate_p_Ar36_to_He4_Cl33_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar36_to_He4_Cl33_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar36_to_He4_Cl33_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar36); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar36); + } +#endif + rate_He4_Ar36_to_p_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar37_to_p_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar37_to_p_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar37_to_p_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar37_to_He4_S34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar37_to_He4_S34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar37_to_He4_S34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar37); + } +#endif + rate_p_Ar37_to_n_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar37_to_n_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar37_to_n_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar37); + } +#endif + rate_p_Ar37_to_He4_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar37_to_He4_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar37_to_He4_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar37); + } +#endif + rate_He4_Ar37_to_n_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar37_to_n_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar37_to_n_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar37); + } +#endif + rate_He4_Ar37_to_p_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar37_to_p_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar37_to_p_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar38_to_He4_S35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar38_to_He4_S35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar38_to_He4_S35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar38); + } +#endif + rate_p_Ar38_to_n_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar38_to_n_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar38_to_n_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar38); + } +#endif + rate_p_Ar38_to_He4_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar38_to_He4_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar38_to_He4_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar38); + } +#endif + rate_He4_Ar38_to_n_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar38_to_n_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar38_to_n_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar38); + } +#endif + rate_He4_Ar38_to_p_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar38_to_p_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar38_to_p_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ar39_to_He4_S36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ar39_to_He4_S36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ar39_to_He4_S36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar39); + } +#endif + rate_p_Ar39_to_n_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar39_to_n_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar39_to_n_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar39); + } +#endif + rate_p_Ar39_to_He4_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar39_to_He4_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar39_to_He4_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar39); + } +#endif + rate_He4_Ar39_to_n_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar39_to_n_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar39_to_n_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar40); + } +#endif + rate_p_Ar40_to_n_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar40_to_n_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar40_to_n_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ar40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ar40); + } +#endif + rate_p_Ar40_to_He4_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ar40_to_He4_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ar40_to_He4_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ar40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ar40); + } +#endif + rate_He4_Ar40_to_n_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar40_to_n_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar40_to_n_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K37_to_p_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K37_to_p_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K37_to_p_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K37_to_He4_Cl34_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K37_to_He4_Cl34_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K37_to_He4_Cl34_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K37); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K37); + } +#endif + rate_He4_K37_to_p_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K37_to_p_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K37_to_p_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K38_to_p_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K38_to_p_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K38_to_p_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K38_to_He4_Cl35_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K38_to_He4_Cl35_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K38_to_He4_Cl35_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K38); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K38); + } +#endif + rate_He4_K38_to_p_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K38_to_p_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K38_to_p_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K39_to_p_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K39_to_p_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K39_to_p_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K39_to_He4_Cl36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K39_to_He4_Cl36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K39_to_He4_Cl36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K39); + } +#endif + rate_p_K39_to_He4_Ar36_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K39); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K39); + } +#endif + rate_He4_K39_to_p_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K39_to_p_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K39_to_p_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K40_to_p_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K40_to_p_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K40_to_p_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_K40_to_He4_Cl37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_K40_to_He4_Cl37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_K40_to_He4_Cl37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K40); + } +#endif + rate_p_K40_to_n_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K40_to_n_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K40_to_n_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K40); + } +#endif + rate_p_K40_to_He4_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K40_to_He4_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K40_to_He4_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K40); + } +#endif + rate_He4_K40_to_n_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K40_to_n_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K40_to_n_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K40); + } +#endif + rate_He4_K40_to_p_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K40_to_p_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K40_to_p_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K41); + } +#endif + rate_p_K41_to_n_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K41_to_n_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K41_to_n_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_K41); + } +#endif + rate_p_K41_to_He4_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_K41_to_He4_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K41_to_He4_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K41); + } +#endif + rate_He4_K41_to_n_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K41_to_n_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K41_to_n_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_K41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_K41); + } +#endif + rate_He4_K41_to_p_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_K41_to_p_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_K41_to_p_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca40_to_p_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca40_to_p_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca40_to_p_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca40_to_He4_Ar37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca40_to_He4_Ar37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca40_to_He4_Ar37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca40); + } +#endif + rate_p_Ca40_to_He4_K37_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca40_to_He4_K37_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca40_to_He4_K37_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca40); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca40); + } +#endif + rate_He4_Ca40_to_p_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca41_to_p_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca41_to_p_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca41_to_p_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca41_to_He4_Ar38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca41_to_He4_Ar38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca41_to_He4_Ar38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca41); + } +#endif + rate_p_Ca41_to_He4_K38_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca41_to_He4_K38_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca41_to_He4_K38_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca41); + } +#endif + rate_He4_Ca41_to_n_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca41_to_n_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca41_to_n_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca41); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca41); + } +#endif + rate_He4_Ca41_to_p_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca41_to_p_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca41_to_p_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca42_to_He4_Ar39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca42_to_He4_Ar39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca42_to_He4_Ar39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca42); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca42); + } +#endif + rate_p_Ca42_to_He4_K39_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca42_to_He4_K39_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca42_to_He4_K39_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca42); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca42); + } +#endif + rate_He4_Ca42_to_n_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca42_to_n_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca42_to_n_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca42); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca42); + } +#endif + rate_He4_Ca42_to_p_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca42_to_p_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca42_to_p_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ca43_to_He4_Ar40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ca43_to_He4_Ar40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ca43_to_He4_Ar40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca43); + } +#endif + rate_p_Ca43_to_n_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca43_to_n_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca43_to_n_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca43); + } +#endif + rate_p_Ca43_to_He4_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca43_to_He4_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca43_to_He4_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca43); + } +#endif + rate_He4_Ca43_to_n_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca43_to_n_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca43_to_n_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca43); + } +#endif + rate_He4_Ca43_to_p_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca43_to_p_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca43_to_p_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca44); + } +#endif + rate_p_Ca44_to_n_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca44_to_n_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca44_to_n_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca44); + } +#endif + rate_p_Ca44_to_He4_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca44_to_He4_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca44_to_He4_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca44); + } +#endif + rate_He4_Ca44_to_n_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca44_to_n_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca44_to_n_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca44); + } +#endif + rate_He4_Ca44_to_p_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca44_to_p_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca44_to_p_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca45); + } +#endif + rate_p_Ca45_to_n_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca45_to_n_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca45_to_n_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca45); + } +#endif + rate_He4_Ca45_to_n_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca45_to_n_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca45_to_n_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca45); + } +#endif + rate_He4_Ca45_to_p_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca45_to_p_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca45_to_p_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca46); + } +#endif + rate_p_Ca46_to_n_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca46_to_n_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca46_to_n_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca46); + } +#endif + rate_He4_Ca46_to_n_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca46_to_n_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca46_to_n_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca46); + } +#endif + rate_He4_Ca46_to_p_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca46_to_p_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca46_to_p_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca47); + } +#endif + rate_p_Ca47_to_n_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca47_to_n_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca47_to_n_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca47); + } +#endif + rate_He4_Ca47_to_n_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca47_to_n_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca47_to_n_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ca48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ca48); + } +#endif + rate_p_Ca48_to_n_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ca48_to_n_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ca48_to_n_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ca48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ca48); + } +#endif + rate_He4_Ca48_to_n_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca48_to_n_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca48_to_n_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc43_to_p_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc43_to_p_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc43_to_p_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc43_to_He4_K40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc43_to_He4_K40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc43_to_He4_K40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc43); + } +#endif + rate_p_Sc43_to_He4_Ca40_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc43); + } +#endif + rate_He4_Sc43_to_n_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc43_to_n_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc43_to_n_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc43); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc43); + } +#endif + rate_He4_Sc43_to_p_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc43_to_p_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc43_to_p_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc44_to_p_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc44_to_p_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc44_to_p_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc44_to_He4_K41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc44_to_He4_K41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc44_to_He4_K41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc44); + } +#endif + rate_p_Sc44_to_n_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc44_to_n_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc44_to_n_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc44); + } +#endif + rate_p_Sc44_to_He4_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc44_to_He4_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc44_to_He4_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc44); + } +#endif + rate_He4_Sc44_to_n_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc44_to_n_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc44_to_n_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc44); + } +#endif + rate_He4_Sc44_to_p_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc44_to_p_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc44_to_p_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc45_to_p_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc45_to_p_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc45_to_p_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc45); + } +#endif + rate_p_Sc45_to_n_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc45_to_n_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc45_to_n_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc45); + } +#endif + rate_p_Sc45_to_He4_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc45_to_He4_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc45_to_He4_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc45); + } +#endif + rate_He4_Sc45_to_n_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc45_to_n_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc45_to_n_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc45); + } +#endif + rate_He4_Sc45_to_p_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc45_to_p_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc45_to_p_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc46_to_p_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc46_to_p_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc46_to_p_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc46); + } +#endif + rate_p_Sc46_to_n_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc46_to_n_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc46_to_n_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc46); + } +#endif + rate_p_Sc46_to_He4_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc46_to_He4_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc46_to_He4_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc46); + } +#endif + rate_He4_Sc46_to_n_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc46_to_n_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc46_to_n_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc46); + } +#endif + rate_He4_Sc46_to_p_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc46_to_p_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc46_to_p_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc47_to_p_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc47_to_p_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc47_to_p_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc47); + } +#endif + rate_p_Sc47_to_n_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc47_to_n_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc47_to_n_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc47); + } +#endif + rate_p_Sc47_to_He4_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc47_to_He4_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc47_to_He4_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc47); + } +#endif + rate_He4_Sc47_to_n_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc47_to_n_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc47_to_n_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc47); + } +#endif + rate_He4_Sc47_to_p_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc47_to_p_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc47_to_p_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Sc48_to_p_Ca48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Sc48_to_p_Ca48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Sc48_to_p_Ca48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc48); + } +#endif + rate_p_Sc48_to_n_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc48_to_n_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc48_to_n_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc48); + } +#endif + rate_p_Sc48_to_He4_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc48_to_He4_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc48_to_He4_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc48); + } +#endif + rate_He4_Sc48_to_n_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc48_to_n_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc48_to_n_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc48); + } +#endif + rate_He4_Sc48_to_p_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc48_to_p_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc48_to_p_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc49); + } +#endif + rate_p_Sc49_to_n_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc49_to_n_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc49_to_n_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Sc49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Sc49); + } +#endif + rate_p_Sc49_to_He4_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc49_to_He4_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc49_to_He4_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Sc49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Sc49); + } +#endif + rate_He4_Sc49_to_n_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Sc49_to_n_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Sc49_to_n_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti44_to_p_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti44_to_p_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti44_to_p_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti44_to_He4_Ca41_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti44_to_He4_Ca41_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti44_to_He4_Ca41_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti44); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti44); + } +#endif + rate_He4_Ti44_to_p_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti45_to_p_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti45_to_p_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti45_to_p_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti45_to_He4_Ca42_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti45_to_He4_Ca42_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti45_to_He4_Ca42_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti45); + } +#endif + rate_He4_Ti45_to_n_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti45_to_n_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti45_to_n_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti45); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti45); + } +#endif + rate_He4_Ti45_to_p_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti45_to_p_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti45_to_p_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti46_to_p_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti46_to_p_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti46_to_p_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti46_to_He4_Ca43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti46_to_He4_Ca43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti46_to_He4_Ca43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti46); + } +#endif + rate_p_Ti46_to_n_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti46_to_n_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti46_to_n_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti46); + } +#endif + rate_p_Ti46_to_He4_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti46_to_He4_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti46_to_He4_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti46); + } +#endif + rate_He4_Ti46_to_n_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti46_to_n_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti46_to_n_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti46); + } +#endif + rate_He4_Ti46_to_p_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti46_to_p_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti46_to_p_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti47_to_p_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti47_to_p_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti47_to_p_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti47_to_He4_Ca44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti47_to_He4_Ca44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti47_to_He4_Ca44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti47); + } +#endif + rate_p_Ti47_to_n_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti47_to_n_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti47_to_n_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti47); + } +#endif + rate_p_Ti47_to_He4_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti47_to_He4_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti47_to_He4_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti47); + } +#endif + rate_He4_Ti47_to_n_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti47_to_n_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti47_to_n_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti47); + } +#endif + rate_He4_Ti47_to_p_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti47_to_p_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti47_to_p_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti48_to_p_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti48_to_p_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti48_to_p_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti48_to_He4_Ca45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti48_to_He4_Ca45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti48_to_He4_Ca45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti48); + } +#endif + rate_p_Ti48_to_n_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti48_to_n_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti48_to_n_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti48); + } +#endif + rate_p_Ti48_to_He4_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti48_to_He4_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti48_to_He4_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti48); + } +#endif + rate_He4_Ti48_to_n_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti48_to_n_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti48_to_n_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti48); + } +#endif + rate_He4_Ti48_to_p_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti48_to_p_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti48_to_p_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti49_to_p_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti49_to_p_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti49_to_p_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti49_to_He4_Ca46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti49_to_He4_Ca46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti49_to_He4_Ca46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti49); + } +#endif + rate_p_Ti49_to_n_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti49_to_n_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti49_to_n_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti49); + } +#endif + rate_p_Ti49_to_He4_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti49_to_He4_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti49_to_He4_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti49); + } +#endif + rate_He4_Ti49_to_n_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti49_to_n_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti49_to_n_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti49); + } +#endif + rate_He4_Ti49_to_p_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti49_to_p_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti49_to_p_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti50_to_He4_Ca47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti50_to_He4_Ca47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti50_to_He4_Ca47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti50); + } +#endif + rate_p_Ti50_to_n_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti50_to_n_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti50_to_n_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti50); + } +#endif + rate_p_Ti50_to_He4_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti50_to_He4_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti50_to_He4_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti50); + } +#endif + rate_He4_Ti50_to_n_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti50_to_n_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti50_to_n_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ti51_to_He4_Ca48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ti51_to_He4_Ca48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ti51_to_He4_Ca48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti51); + } +#endif + rate_p_Ti51_to_n_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti51_to_n_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti51_to_n_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ti51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ti51); + } +#endif + rate_p_Ti51_to_He4_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ti51_to_He4_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ti51_to_He4_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ti51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ti51); + } +#endif + rate_He4_Ti51_to_n_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti51_to_n_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti51_to_n_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V46_to_p_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V46_to_p_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V46_to_p_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V46_to_He4_Sc43_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V46_to_He4_Sc43_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V46_to_He4_Sc43_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V46); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V46); + } +#endif + rate_He4_V46_to_p_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V46_to_p_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V46_to_p_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V47_to_p_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V47_to_p_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V47_to_p_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V47_to_He4_Sc44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V47_to_He4_Sc44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V47_to_He4_Sc44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V47); + } +#endif + rate_p_V47_to_He4_Ti44_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V47); + } +#endif + rate_He4_V47_to_n_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V47_to_n_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V47_to_n_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V47); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V47); + } +#endif + rate_He4_V47_to_p_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V47_to_p_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V47_to_p_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V48_to_p_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V48_to_p_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V48_to_p_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V48_to_He4_Sc45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V48_to_He4_Sc45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V48_to_He4_Sc45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V48); + } +#endif + rate_p_V48_to_n_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V48_to_n_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V48_to_n_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V48); + } +#endif + rate_p_V48_to_He4_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V48_to_He4_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V48_to_He4_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V48); + } +#endif + rate_He4_V48_to_n_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V48_to_n_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V48_to_n_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V48); + } +#endif + rate_He4_V48_to_p_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V48_to_p_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V48_to_p_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V49_to_p_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V49_to_p_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V49_to_p_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V49_to_He4_Sc46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V49_to_He4_Sc46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V49_to_He4_Sc46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V49); + } +#endif + rate_p_V49_to_n_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V49_to_n_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V49_to_n_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V49); + } +#endif + rate_p_V49_to_He4_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V49_to_He4_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V49_to_He4_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V49); + } +#endif + rate_He4_V49_to_n_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V49_to_n_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V49_to_n_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V49); + } +#endif + rate_He4_V49_to_p_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V49_to_p_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V49_to_p_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V50_to_p_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V50_to_p_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V50_to_p_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V50_to_He4_Sc47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V50_to_He4_Sc47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V50_to_He4_Sc47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V50); + } +#endif + rate_p_V50_to_n_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V50_to_n_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V50_to_n_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V50); + } +#endif + rate_p_V50_to_He4_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V50_to_He4_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V50_to_He4_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V50); + } +#endif + rate_He4_V50_to_n_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V50_to_n_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V50_to_n_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V50); + } +#endif + rate_He4_V50_to_p_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V50_to_p_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V50_to_p_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V51_to_p_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V51_to_p_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V51_to_p_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V51_to_He4_Sc48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V51_to_He4_Sc48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V51_to_He4_Sc48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V51); + } +#endif + rate_p_V51_to_n_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V51_to_n_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V51_to_n_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V51); + } +#endif + rate_p_V51_to_He4_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V51_to_He4_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V51_to_He4_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V51); + } +#endif + rate_He4_V51_to_n_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V51_to_n_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V51_to_n_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V51); + } +#endif + rate_He4_V51_to_p_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V51_to_p_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V51_to_p_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_V52_to_He4_Sc49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_V52_to_He4_Sc49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_V52_to_He4_Sc49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V52); + } +#endif + rate_p_V52_to_n_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V52_to_n_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V52_to_n_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_V52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_V52); + } +#endif + rate_p_V52_to_He4_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_V52_to_He4_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V52_to_He4_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_V52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_V52); + } +#endif + rate_He4_V52_to_n_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_V52_to_n_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_V52_to_n_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr48_to_p_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr48_to_p_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr48_to_p_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr48_to_He4_Ti45_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr48_to_He4_Ti45_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr48_to_He4_Ti45_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr48); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr48); + } +#endif + rate_He4_Cr48_to_p_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr49_to_p_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr49_to_p_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr49_to_p_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr49_to_He4_Ti46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr49_to_He4_Ti46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr49_to_He4_Ti46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr49); + } +#endif + rate_p_Cr49_to_He4_V46_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr49_to_He4_V46_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr49_to_He4_V46_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr49); + } +#endif + rate_He4_Cr49_to_n_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr49_to_n_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr49_to_n_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr49); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr49); + } +#endif + rate_He4_Cr49_to_p_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr49_to_p_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr49_to_p_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr50_to_p_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr50_to_p_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr50_to_p_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr50_to_He4_Ti47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr50_to_He4_Ti47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr50_to_He4_Ti47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr50); + } +#endif + rate_p_Cr50_to_n_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr50_to_n_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr50_to_n_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr50); + } +#endif + rate_p_Cr50_to_He4_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr50_to_He4_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr50_to_He4_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr50); + } +#endif + rate_He4_Cr50_to_n_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr50_to_n_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr50_to_n_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr50); + } +#endif + rate_He4_Cr50_to_p_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr50_to_p_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr50_to_p_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr51_to_p_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr51_to_p_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr51_to_p_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr51_to_He4_Ti48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr51_to_He4_Ti48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr51_to_He4_Ti48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr51); + } +#endif + rate_p_Cr51_to_n_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr51_to_n_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr51_to_n_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr51); + } +#endif + rate_p_Cr51_to_He4_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr51_to_He4_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr51_to_He4_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr51); + } +#endif + rate_He4_Cr51_to_n_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr51_to_n_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr51_to_n_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr51); + } +#endif + rate_He4_Cr51_to_p_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr51_to_p_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr51_to_p_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr52_to_p_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr52_to_p_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr52_to_p_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr52_to_He4_Ti49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr52_to_He4_Ti49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr52_to_He4_Ti49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr52); + } +#endif + rate_p_Cr52_to_n_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr52_to_n_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr52_to_n_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr52); + } +#endif + rate_p_Cr52_to_He4_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr52_to_He4_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr52_to_He4_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr52); + } +#endif + rate_He4_Cr52_to_n_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr52_to_n_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr52_to_n_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr52); + } +#endif + rate_He4_Cr52_to_p_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr52_to_p_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr52_to_p_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr53_to_He4_Ti50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr53_to_He4_Ti50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr53_to_He4_Ti50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr53); + } +#endif + rate_p_Cr53_to_n_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr53_to_n_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr53_to_n_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr53); + } +#endif + rate_p_Cr53_to_He4_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr53_to_He4_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr53_to_He4_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr53); + } +#endif + rate_He4_Cr53_to_n_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr53_to_n_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr53_to_n_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cr54_to_He4_Ti51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cr54_to_He4_Ti51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cr54_to_He4_Ti51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr54); + } +#endif + rate_p_Cr54_to_n_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr54_to_n_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr54_to_n_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cr54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cr54); + } +#endif + rate_p_Cr54_to_He4_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cr54_to_He4_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cr54_to_He4_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cr54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cr54); + } +#endif + rate_He4_Cr54_to_n_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr54_to_n_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr54_to_n_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn50_to_p_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn50_to_p_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn50_to_p_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn50_to_He4_V47_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn50_to_He4_V47_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn50_to_He4_V47_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn50); + } +#endif + rate_He4_Mn50_to_n_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn50_to_n_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn50_to_n_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn50); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn50); + } +#endif + rate_He4_Mn50_to_p_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn50_to_p_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn50_to_p_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn51_to_p_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn51_to_p_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn51_to_p_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn51_to_He4_V48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn51_to_He4_V48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn51_to_He4_V48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn51); + } +#endif + rate_p_Mn51_to_He4_Cr48_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_n_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_n_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_n_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn51); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn51); + } +#endif + rate_He4_Mn51_to_p_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_p_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn52_to_p_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn52_to_p_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn52_to_p_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn52_to_He4_V49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn52_to_He4_V49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn52_to_He4_V49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn52); + } +#endif + rate_p_Mn52_to_n_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn52_to_n_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn52_to_n_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn52); + } +#endif + rate_p_Mn52_to_He4_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn52_to_He4_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn52_to_He4_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn52); + } +#endif + rate_He4_Mn52_to_n_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn52_to_n_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn52_to_n_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn52); + } +#endif + rate_He4_Mn52_to_p_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn52_to_p_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn52_to_p_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn53_to_p_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn53_to_p_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn53_to_p_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn53_to_He4_V50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn53_to_He4_V50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn53_to_He4_V50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn53); + } +#endif + rate_p_Mn53_to_n_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn53_to_n_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn53_to_n_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn53); + } +#endif + rate_p_Mn53_to_He4_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn53_to_He4_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn53_to_He4_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn53); + } +#endif + rate_He4_Mn53_to_n_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn53_to_n_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn53_to_n_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn53); + } +#endif + rate_He4_Mn53_to_p_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn53_to_p_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn53_to_p_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn54_to_p_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn54_to_p_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn54_to_p_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn54_to_He4_V51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn54_to_He4_V51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn54_to_He4_V51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn54); + } +#endif + rate_p_Mn54_to_n_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn54_to_n_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn54_to_n_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn54); + } +#endif + rate_p_Mn54_to_He4_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn54_to_He4_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn54_to_He4_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn54); + } +#endif + rate_He4_Mn54_to_n_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn54_to_n_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn54_to_n_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn54); + } +#endif + rate_He4_Mn54_to_p_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn54_to_p_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn54_to_p_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Mn55_to_He4_V52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Mn55_to_He4_V52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Mn55_to_He4_V52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn55); + } +#endif + rate_p_Mn55_to_n_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn55_to_n_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn55_to_n_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Mn55); + } +#endif + rate_p_Mn55_to_He4_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn55_to_He4_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn55_to_He4_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn55); + } +#endif + rate_He4_Mn55_to_n_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn55_to_n_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn55_to_n_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Mn55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Mn55); + } +#endif + rate_He4_Mn55_to_p_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn55_to_p_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn55_to_p_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_p_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_p_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_p_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe52_to_He4_Cr49_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_He4_Cr49_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_He4_Cr49_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe52); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe52); + } +#endif + rate_He4_Fe52_to_p_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_p_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_p_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_p_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe53_to_He4_Cr50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_He4_Cr50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_He4_Cr50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe53); + } +#endif + rate_p_Fe53_to_n_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe53_to_n_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe53_to_n_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe53); + } +#endif + rate_p_Fe53_to_He4_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe53_to_He4_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe53_to_He4_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_n_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe53_to_n_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_n_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe53); + } +#endif + rate_He4_Fe53_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe53_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe53_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_p_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_p_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_p_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe54_to_He4_Cr51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_He4_Cr51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_He4_Cr51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_n_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe54_to_n_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_n_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe54); + } +#endif + rate_p_Fe54_to_He4_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe54_to_He4_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe54_to_He4_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_n_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_n_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_n_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe54); + } +#endif + rate_He4_Fe54_to_p_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_p_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_p_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_p_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_p_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe55_to_He4_Cr52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_He4_Cr52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_He4_Cr52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe55); + } +#endif + rate_p_Fe55_to_n_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe55_to_n_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe55_to_n_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe55); + } +#endif + rate_p_Fe55_to_He4_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe55_to_He4_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe55_to_He4_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe55); + } +#endif + rate_He4_Fe55_to_n_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe55_to_n_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe55_to_n_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe55); + } +#endif + rate_He4_Fe55_to_p_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe55_to_p_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe55_to_p_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe56_to_He4_Cr53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe56_to_He4_Cr53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe56_to_He4_Cr53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_n_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe56_to_n_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_n_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe56); + } +#endif + rate_p_Fe56_to_He4_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe56_to_He4_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe56_to_He4_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe56); + } +#endif + rate_He4_Fe56_to_n_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe56_to_n_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe56_to_n_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe56); + } +#endif + rate_He4_Fe56_to_p_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe56_to_p_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe56_to_p_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Fe57_to_He4_Cr54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe57_to_He4_Cr54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe57_to_He4_Cr54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe57); + } +#endif + rate_p_Fe57_to_n_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe57_to_n_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe57_to_n_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe57); + } +#endif + rate_p_Fe57_to_He4_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe57_to_He4_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe57_to_He4_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe57); + } +#endif + rate_He4_Fe57_to_n_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe57_to_n_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe57_to_n_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe58); + } +#endif + rate_p_Fe58_to_n_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe58_to_n_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe58_to_n_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Fe58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Fe58); + } +#endif + rate_p_Fe58_to_He4_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Fe58_to_He4_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Fe58_to_He4_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Fe58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Fe58); + } +#endif + rate_He4_Fe58_to_n_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe58_to_n_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe58_to_n_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co53_to_p_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co53_to_p_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co53_to_p_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co53_to_He4_Mn50_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co53_to_He4_Mn50_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co53_to_He4_Mn50_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co53); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co53); + } +#endif + rate_He4_Co53_to_p_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co53_to_p_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co53_to_p_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co54_to_p_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co54_to_p_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co54_to_p_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co54_to_He4_Mn51_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co54_to_He4_Mn51_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co54_to_He4_Mn51_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co54); + } +#endif + rate_He4_Co54_to_n_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co54_to_n_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co54_to_n_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co54); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co54); + } +#endif + rate_He4_Co54_to_p_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co54_to_p_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co54_to_p_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_p_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_p_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_p_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co55_to_He4_Mn52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_He4_Mn52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_He4_Mn52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co55); + } +#endif + rate_p_Co55_to_He4_Fe52_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_n_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_n_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_n_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co55); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co55); + } +#endif + rate_He4_Co55_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_p_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_p_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_p_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co56_to_He4_Mn53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_He4_Mn53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_He4_Mn53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_n_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co56_to_n_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_n_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co56); + } +#endif + rate_p_Co56_to_He4_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co56_to_He4_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co56_to_He4_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co56); + } +#endif + rate_He4_Co56_to_n_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co56_to_n_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co56_to_n_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co56); + } +#endif + rate_He4_Co56_to_p_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co56_to_p_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co56_to_p_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co57_to_p_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co57_to_p_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co57_to_p_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co57_to_He4_Mn54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co57_to_He4_Mn54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co57_to_He4_Mn54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_n_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_n_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_n_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co57); + } +#endif + rate_p_Co57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co57); + } +#endif + rate_He4_Co57_to_n_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co57_to_n_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co57_to_n_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co57); + } +#endif + rate_He4_Co57_to_p_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co57_to_p_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co57_to_p_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co58_to_p_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co58_to_p_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co58_to_p_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Co58_to_He4_Mn55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Co58_to_He4_Mn55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co58_to_He4_Mn55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co58); + } +#endif + rate_p_Co58_to_n_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co58_to_n_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co58_to_n_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co58); + } +#endif + rate_p_Co58_to_He4_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co58_to_He4_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co58_to_He4_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co58); + } +#endif + rate_He4_Co58_to_n_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co58_to_n_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co58_to_n_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co58); + } +#endif + rate_He4_Co58_to_p_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co58_to_p_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co58_to_p_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co59); + } +#endif + rate_p_Co59_to_n_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co59_to_n_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co59_to_n_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Co59); + } +#endif + rate_p_Co59_to_He4_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Co59_to_He4_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co59_to_He4_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co59); + } +#endif + rate_He4_Co59_to_n_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co59_to_n_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co59_to_n_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Co59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Co59); + } +#endif + rate_He4_Co59_to_p_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co59_to_p_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co59_to_p_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_p_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_p_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni56_to_He4_Fe53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_He4_Fe53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_He4_Fe53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni56); + } +#endif + rate_p_Ni56_to_He4_Co53_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni56_to_He4_Co53_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni56_to_He4_Co53_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni56); + } +#endif + rate_He4_Ni56_to_n_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni56_to_n_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni56_to_n_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni56); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni56); + } +#endif + rate_He4_Ni56_to_p_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni56_to_p_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni56_to_p_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_p_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_p_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_p_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni57_to_He4_Fe54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_He4_Fe54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_He4_Fe54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni57); + } +#endif + rate_p_Ni57_to_n_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni57_to_n_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni57_to_n_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni57); + } +#endif + rate_p_Ni57_to_He4_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni57_to_He4_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni57_to_He4_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni57); + } +#endif + rate_He4_Ni57_to_n_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni57_to_n_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni57_to_n_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni57); + } +#endif + rate_He4_Ni57_to_p_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni57_to_p_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni57_to_p_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni58_to_p_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni58_to_p_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni58_to_p_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni58_to_He4_Fe55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni58_to_He4_Fe55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni58_to_He4_Fe55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_n_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni58_to_n_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_n_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni58); + } +#endif + rate_p_Ni58_to_He4_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni58_to_He4_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni58_to_He4_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni58); + } +#endif + rate_He4_Ni58_to_n_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni58_to_n_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni58_to_n_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni58); + } +#endif + rate_He4_Ni58_to_p_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni58_to_p_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni58_to_p_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni59_to_p_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni59_to_p_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni59_to_p_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni59_to_He4_Fe56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni59_to_He4_Fe56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni59_to_He4_Fe56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni59); + } +#endif + rate_p_Ni59_to_n_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni59_to_n_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni59_to_n_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni59); + } +#endif + rate_p_Ni59_to_He4_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni59_to_He4_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni59_to_He4_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni59); + } +#endif + rate_He4_Ni59_to_n_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni59_to_n_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni59_to_n_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni59); + } +#endif + rate_He4_Ni59_to_p_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni59_to_p_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni59_to_p_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni60_to_He4_Fe57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni60_to_He4_Fe57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni60_to_He4_Fe57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni60); + } +#endif + rate_p_Ni60_to_n_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni60_to_n_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni60_to_n_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni60); + } +#endif + rate_p_Ni60_to_He4_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni60_to_He4_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni60_to_He4_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni60); + } +#endif + rate_He4_Ni60_to_n_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni60_to_n_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni60_to_n_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni60); + } +#endif + rate_He4_Ni60_to_p_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni60_to_p_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni60_to_p_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ni61_to_He4_Fe58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni61_to_He4_Fe58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni61_to_He4_Fe58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni61); + } +#endif + rate_p_Ni61_to_n_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni61_to_n_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni61_to_n_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni61); + } +#endif + rate_p_Ni61_to_He4_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni61_to_He4_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni61_to_He4_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni61); + } +#endif + rate_He4_Ni61_to_n_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni61_to_n_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni61_to_n_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni61); + } +#endif + rate_He4_Ni61_to_p_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni61_to_p_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni61_to_p_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni62); + } +#endif + rate_p_Ni62_to_n_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni62_to_n_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni62_to_n_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni62); + } +#endif + rate_p_Ni62_to_He4_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni62_to_He4_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni62_to_He4_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni62); + } +#endif + rate_He4_Ni62_to_n_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni62_to_n_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni62_to_n_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni62); + } +#endif + rate_He4_Ni62_to_p_Cu65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni62_to_p_Cu65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni62_to_p_Cu65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni63); + } +#endif + rate_p_Ni63_to_n_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni63_to_n_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni63_to_n_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Ni63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Ni63); + } +#endif + rate_He4_Ni63_to_n_Zn66_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ni63_to_n_Zn66_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ni63_to_n_Zn66_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ni64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ni64); + } +#endif + rate_p_Ni64_to_n_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ni64_to_n_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ni64_to_n_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu57_to_p_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu57_to_p_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu57_to_p_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu57_to_He4_Co54_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu57_to_He4_Co54_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu57_to_He4_Co54_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu57); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu57); + } +#endif + rate_He4_Cu57_to_p_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu57_to_p_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu57_to_p_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu58_to_p_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu58_to_p_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu58_to_p_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu58_to_He4_Co55_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu58_to_He4_Co55_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu58_to_He4_Co55_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu58); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu58); + } +#endif + rate_He4_Cu58_to_p_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu58_to_p_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu58_to_p_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu59_to_p_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu59_to_p_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu59_to_p_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu59_to_He4_Co56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu59_to_He4_Co56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu59_to_He4_Co56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu59); + } +#endif + rate_p_Cu59_to_n_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu59_to_n_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu59_to_n_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu59); + } +#endif + rate_p_Cu59_to_He4_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu59_to_He4_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu59_to_He4_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu59); + } +#endif + rate_He4_Cu59_to_n_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu59_to_n_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu59_to_n_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu59); + } +#endif + rate_He4_Cu59_to_p_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu59_to_p_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu59_to_p_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu60_to_p_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu60_to_p_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu60_to_p_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu60_to_He4_Co57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu60_to_He4_Co57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu60_to_He4_Co57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu60); + } +#endif + rate_p_Cu60_to_n_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu60_to_n_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu60_to_n_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu60); + } +#endif + rate_p_Cu60_to_He4_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu60_to_He4_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu60_to_He4_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu60); + } +#endif + rate_He4_Cu60_to_n_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu60_to_n_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu60_to_n_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu60); + } +#endif + rate_He4_Cu60_to_p_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu60_to_p_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu60_to_p_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu61_to_p_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu61_to_p_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu61_to_p_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu61_to_He4_Co58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu61_to_He4_Co58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu61_to_He4_Co58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu61); + } +#endif + rate_p_Cu61_to_n_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu61_to_n_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu61_to_n_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu61); + } +#endif + rate_p_Cu61_to_He4_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu61_to_He4_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu61_to_He4_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu61); + } +#endif + rate_He4_Cu61_to_n_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu61_to_n_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu61_to_n_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu61); + } +#endif + rate_He4_Cu61_to_p_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu61_to_p_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu61_to_p_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu62_to_p_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu62_to_p_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu62_to_p_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu62_to_He4_Co59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu62_to_He4_Co59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu62_to_He4_Co59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu62); + } +#endif + rate_p_Cu62_to_n_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu62_to_n_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu62_to_n_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu62); + } +#endif + rate_p_Cu62_to_He4_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu62_to_He4_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu62_to_He4_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu62); + } +#endif + rate_He4_Cu62_to_p_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu62_to_p_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu62_to_p_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu63_to_p_Ni63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu63_to_p_Ni63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu63_to_p_Ni63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu63); + } +#endif + rate_p_Cu63_to_n_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu63_to_n_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu63_to_n_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu63); + } +#endif + rate_p_Cu63_to_He4_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu63_to_He4_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu63_to_He4_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Cu63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Cu63); + } +#endif + rate_He4_Cu63_to_p_Zn66_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cu63_to_p_Zn66_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cu63_to_p_Zn66_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Cu64_to_p_Ni64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Cu64_to_p_Ni64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Cu64_to_p_Ni64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu64); + } +#endif + rate_p_Cu64_to_n_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu64_to_n_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu64_to_n_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu64); + } +#endif + rate_p_Cu64_to_He4_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu64_to_He4_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu64_to_He4_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu65); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu65); + } +#endif + rate_p_Cu65_to_n_Zn65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu65_to_n_Zn65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu65_to_n_Zn65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Cu65); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Cu65); + } +#endif + rate_p_Cu65_to_He4_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Cu65_to_He4_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cu65_to_He4_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn59_to_p_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn59_to_p_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn59_to_p_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn59_to_He4_Ni56_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn59_to_He4_Ni56_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn59_to_He4_Ni56_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn59); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn59); + } +#endif + rate_He4_Zn59_to_p_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn59_to_p_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn59_to_p_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn60_to_p_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn60_to_p_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn60_to_p_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn60_to_He4_Ni57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn60_to_He4_Ni57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn60_to_He4_Ni57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn60); + } +#endif + rate_p_Zn60_to_He4_Cu57_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn60_to_He4_Cu57_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn60_to_He4_Cu57_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn60); + } +#endif + rate_He4_Zn60_to_n_Ge63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn60_to_n_Ge63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn60_to_n_Ge63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn60); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn60); + } +#endif + rate_He4_Zn60_to_p_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn60_to_p_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn60_to_p_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn61_to_p_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn61_to_p_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn61_to_p_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn61_to_He4_Ni58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn61_to_He4_Ni58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn61_to_He4_Ni58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn61); + } +#endif + rate_p_Zn61_to_He4_Cu58_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn61_to_He4_Cu58_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn61_to_He4_Cu58_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn61); + } +#endif + rate_He4_Zn61_to_n_Ge64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn61_to_n_Ge64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn61_to_n_Ge64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_Zn61); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_Zn61); + } +#endif + rate_He4_Zn61_to_p_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_Zn61_to_p_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Zn61_to_p_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn62_to_p_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn62_to_p_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn62_to_p_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn62_to_He4_Ni59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn62_to_He4_Ni59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn62_to_He4_Ni59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn62); + } +#endif + rate_p_Zn62_to_n_Ga62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn62_to_n_Ga62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn62_to_n_Ga62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn62); + } +#endif + rate_p_Zn62_to_He4_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn62_to_He4_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn62_to_He4_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn63_to_p_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn63_to_p_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn63_to_p_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn63_to_He4_Ni60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn63_to_He4_Ni60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn63_to_He4_Ni60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn63); + } +#endif + rate_p_Zn63_to_n_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn63_to_n_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn63_to_n_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn63); + } +#endif + rate_p_Zn63_to_He4_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn63_to_He4_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn63_to_He4_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn64_to_p_Cu64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn64_to_p_Cu64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn64_to_p_Cu64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn64_to_He4_Ni61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn64_to_He4_Ni61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn64_to_He4_Ni61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn64); + } +#endif + rate_p_Zn64_to_n_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn64_to_n_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn64_to_n_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn64); + } +#endif + rate_p_Zn64_to_He4_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn64_to_He4_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn64_to_He4_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn65_to_p_Cu65_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn65_to_p_Cu65_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn65_to_p_Cu65_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn65_to_He4_Ni62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn65_to_He4_Ni62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn65_to_He4_Ni62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn65); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn65); + } +#endif + rate_p_Zn65_to_He4_Cu62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn65_to_He4_Cu62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn65_to_He4_Cu62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Zn66_to_He4_Ni63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Zn66_to_He4_Ni63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Zn66_to_He4_Ni63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Zn66); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Zn66); + } +#endif + rate_p_Zn66_to_He4_Cu63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Zn66_to_He4_Cu63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Zn66_to_He4_Cu63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga62_to_p_Zn62_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga62_to_p_Zn62_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga62_to_p_Zn62_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga62_to_He4_Cu59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga62_to_He4_Cu59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga62_to_He4_Cu59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga62); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga62); + } +#endif + rate_p_Ga62_to_He4_Zn59_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga62_to_He4_Zn59_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga62_to_He4_Zn59_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga63_to_p_Zn63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga63_to_p_Zn63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga63_to_p_Zn63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga63_to_He4_Cu60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga63_to_He4_Cu60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga63_to_He4_Cu60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga63); + } +#endif + rate_p_Ga63_to_n_Ge63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga63_to_n_Ge63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga63_to_n_Ge63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga63); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga63); + } +#endif + rate_p_Ga63_to_He4_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga63_to_He4_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga63_to_He4_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga64_to_p_Zn64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga64_to_p_Zn64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga64_to_p_Zn64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ga64_to_He4_Cu61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ga64_to_He4_Cu61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ga64_to_He4_Cu61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga64); + } +#endif + rate_p_Ga64_to_n_Ge64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga64_to_n_Ge64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga64_to_n_Ge64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Ga64); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Ga64); + } +#endif + rate_p_Ga64_to_He4_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Ga64_to_He4_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ga64_to_He4_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ge63_to_p_Ga63_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ge63_to_p_Ga63_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ge63_to_p_Ga63_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ge63_to_He4_Zn60_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ge63_to_He4_Zn60_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ge63_to_He4_Zn60_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ge64_to_p_Ga64_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ge64_to_p_Ga64_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ge64_to_p_Ga64_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_Ge64_to_He4_Zn61_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_Ge64_to_He4_Zn61_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ge64_to_He4_Zn61_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_d); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_d); + } +#endif + rate_p_d_to_n_p_p_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_d_to_n_p_p_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_d_to_n_p_p_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_He3); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_He3); + } +#endif + rate_He3_He3_to_p_p_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_He3_to_p_p_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_He3_to_p_p_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Li7); + } +#endif + rate_d_Li7_to_n_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Li7_to_n_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Li7_to_n_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_Be7); + } +#endif + rate_d_Be7_to_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_Be7_to_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_Be7_to_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be9); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be9); + } +#endif + rate_p_Be9_to_d_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be9_to_d_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be9_to_d_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; + rate_n_B8_to_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_B8_to_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_B8_to_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_B11); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_B11); + } +#endif + rate_p_B11_to_He4_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_B11_to_He4_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_B11_to_He4_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_Li7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_Li7); + } +#endif + rate_He3_Li7_to_n_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_Li7_to_n_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_Li7_to_n_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He3_Be7); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He3_Be7); + } +#endif + rate_He3_Be7_to_p_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He3_Be7_to_p_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He3_Be7_to_p_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_Be9); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_Be9); + } +#endif + rate_p_Be9_to_n_p_He4_He4_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_Be9_to_n_p_He4_He4_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Be9_to_n_p_He4_He4_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4); + } +#endif + rate_n_p_He4_to_Li6_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_p_He4_to_Li6_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_p_He4_to_Li6_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4); + } +#endif + rate_n_He4_He4_to_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_He4_He4_to_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_He4_He4_to_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_C12_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_n_p_p_to_p_d_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_p_p_to_p_d_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_p_p_to_p_d_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p) + rate_eval.log_screen(k_He2_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p) + rate_eval.dlog_screen_dT(k_He2_He4); + } +#endif + rate_p_p_He4_to_He3_He3_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_He4_to_He3_He3_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_He4_to_He3_He3_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4); + } +#endif + rate_n_He4_He4_to_d_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_He4_He4_to_d_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_He4_He4_to_d_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4) + rate_eval.log_screen(k_He4_Li5); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4) + rate_eval.dlog_screen_dT(k_He4_Li5); + } +#endif + rate_p_He4_He4_to_n_B8_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He4_He4_to_n_B8_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He4_He4_to_n_B8_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4) + rate_eval.log_screen(k_He4_Li5); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4) + rate_eval.dlog_screen_dT(k_He4_Li5); + } +#endif + rate_p_He4_He4_to_d_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_He4_He4_to_d_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_He4_He4_to_d_Be7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_d_He4) + rate_eval.log_screen(k_He4_Li6); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_d_He4) + rate_eval.dlog_screen_dT(k_He4_Li6); + } +#endif + rate_d_He4_He4_to_p_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_d_He4_He4_to_p_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_d_He4_He4_to_p_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_He4_He4) + rate_eval.log_screen(k_He4_Be8); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_He4_He4) + rate_eval.dlog_screen_dT(k_He4_Be8); + } +#endif + rate_He4_He4_He4_to_p_B11_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_p_B11_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_p_B11_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4) + rate_eval.log_screen(k_He4_Li5); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4) + rate_eval.dlog_screen_dT(k_He4_Li5); + } +#endif + rate_n_p_He4_He4_to_He3_Li7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_p_He4_He4_to_He3_Li7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_He3_Li7_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_He4) + rate_eval.log_screen(k_He4_Li5); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_He4) + rate_eval.dlog_screen_dT(k_He4_Li5); + } +#endif + rate_n_p_He4_He4_to_p_Be9_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_n_p_He4_He4_to_p_Be9_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_p_He4_He4_to_p_Be9_reaclib) = drate_dT; + } + } + + { + amrex::Real log_scor {0.0_rt}; + amrex::Real dlog_scor_dT {0.0_rt}; +#ifdef SCREENING + log_scor = rate_eval.log_screen(k_p_p); + if constexpr (std::is_same_v) { + dlog_scor_dT = rate_eval.dlog_screen_dT(k_p_p); + } +#endif + rate_p_p_He4_He4_to_He3_Be7_reaclib(tfactors, log_scor, dlog_scor_dT, rate, drate_dT); + rate_eval.screened_rates(k_p_p_He4_He4_to_He3_Be7_reaclib) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_p_He4_He4_to_He3_Be7_reaclib) = drate_dT; + } } - rate_p_p_He4_He4_to_He3_Be7_reaclib(tfactors, rate, drate_dT); - rate_eval.screened_rates(k_p_p_He4_He4_to_He3_Be7_reaclib) = rate; - if constexpr (std::is_same_v) { - rate_eval.dscreened_rates_dT(k_p_p_He4_He4_to_He3_Be7_reaclib) = drate_dT; - } }